1.运行环境
Centos 7
安装dos2unix工具
yum install dos2unix
安装jexus
curl https://jexus.org/release/x64/install.sh|sudo sh
2.网站部署
2.1. 将windows下的网站发布包Msc_qingdao_admin.zip上传到linux中,
然后解压后放入/var/www(没有则创建)目录下
root@ubuntu:/var/www/Msc_qingdao_admin# ls
bin Contents packages.config PrecompiledApp.config Views Web.config
# 然后将window下的文件使用dos2unix命令转换为unix格式文件
root@ubuntu:/var/www/Msc_qingdao_admin# find . -type f -exec dos2unix {} \;
2.2. 在/usr/jexus/siteconf目录下,创建msc网站的配置文件
root@ubuntu:/usr/jexus/siteconf# ls
default msc pocconf
内容如下:
######################
# Web Site: Msc
########################################
port=8080
root=/ /var/www/Msc_qingdao_admin
hosts=* #OR your.com,*.your.com
# User=www-data
# AspNet.Workers=2 # Set the number of asp.net worker processes. Defauit is 1.
# addr=0.0.0.0
# CheckQuery=false
NoLog=true
# AppHost={cmd=dotnet /usr/local/x/app.dll; root=/usr/local/x; port=5000}
# NoFile=/index.aspx
# Keep_Alive=false
# UseGZIP=false
# UseHttps=true
# ssl.certificate=/x/xxx.crt #or pem
# ssl.certificatekey=/x/xxx.key
# ssl.protocol=TLSv1.0 # TLSv1.1 or TLSv1.2...
# ssl.ciphers=
# DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24
# AllowFrom=192.168.*.*
# DenyDirs=~/cgi, ~/upfiles
# indexes=myindex.aspx
# Deny asp ...
rewrite=^/.+?\.(asp|cgi|pl|sh|bash|dll)(\?.*|)$ /.deny->$1
rewrite=.*/editor/.+ /.deny->editor
# reproxy=/bbs/ http://192.168.1.112/bbs/
# host.Redirect=abc.com www.abc.com 301
# ResponseHandler.Add=myKey:myValue
# Jexus php fastcgi address is '/var/run/jexus/phpsvr'
#######################################################
# fastcgi.add=php|socket:/var/run/jexus/phpsvr
# php-fpm listen address is '127.0.0.1:9000'
############################################
# fastcgi.add=php|tcp:127.0.0.1:9000
Port和root分别为网站的访问端口和路径
2.3. 启动jexus/重启jexus
/usr/jexus/jws start
重启命令为 /usr/jexus/jws restart
2.4. 在浏览器中输入 http://linux服务器ip:8080
如果没有问题,则能够看到网站正常启动了
3. 碰到的问题
3.1 Windows中的dll不匹配,导致网站无法运行,错误如下:
System.Configuration.ConfigurationErrorsException
Type not found: 'System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'
此时需要将网站目录下的System.Web.WebPages.Razor.dll删除,然后拷贝jexus匹配的mono目录下的dll来替换,具体命令如下:
cp /usr/jexus/runtime/lib/mono/gac/System.Web.WebPages.Razor/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Razor.dll /var/www/Msc_qingdao_admin/
然后重启jexus
/usr/jexus/jws restart
再访问网站,就会发现可以正常访问了。