在Linux上运行asp.net——Jexus服务器

还在公司任职的时候,负责开发了一个基于asp.net的网站,用于展示公司的面貌,服务器采用的是 CentOS 7。 CentOS 是 Linux 操作系统的一支,虽然说现在 Ubuntu 大行其道,但 CentOS 才是真爱啊。
当项目完成后需要架设在Linux的服务器上,我推荐了使用Jexus,按照Jexus官网的说法就是

Jexus——強勁、堅固、免費、易用的Linux ASP.NET服務器


PS:虽然 Jexus 的官网有够烂的……下面我会说到为什么

要在Linux的系统上使用.net,第一步当然是先安装Mono,这里就不详述了,rpm安装一下即可

然后安装Jexus

wget linuxdot.net/down/jexus-5.6.4.tar.gz

tar -zxvf jexus-5.6.4.tar.gz

cd jexus-5.6.4

./install

大部分的教程都不翻译Linux的相关指令,这里我就翻译一下吧,这样便于学习精进

wget linuxdot.net/down/jexus-5.6.4.tar.gz 这句话是指下载压缩包 wget 指令是指下载 后面跟的是资源地址。 .tar.gz 是Linux下的压缩文件后缀名

tar -zxvf jexus-5.6.4.tar.gz 这步就是将上面下载的文件进行解压缩

cd jexus-5.6.4 相信都能看懂吧,CD指令在Dos下也是一样的意思,打开文件夹

./install 顾名思义,运行该文件夹下的安装

这样,Jexus就安装好了,接下来可以进行配置

Jexus默认是安装到/usr/jexus/中的,到相应文件夹下找到jws.conf可以看到 (以下参考Jexus官方文档)

SiteLogDir=log    #网站日志以及Jexus系统日志的存放位置,必填项。可以使用基于jws.exe文件的相对路径
SiteConfigDir=siteconf     #网站配置文件存放的位置,是必填项。可以使用绝对路径,也可以使用基于jws.conf文件的相对路径
Runtime=v4.0.30319    #设定Jexus工作进程运行于哪个.NET版本
httpd.processes=1     #工作进程的数量,建议每6-8核CPU用一个进程,最多可设4个进程
httpd.user=www-data     #工作进程以什么用户身份和对应权限工作,默认为root
php-fcgi.set=/usr/bin/php-cgi,6    #如果需要Jexus同时充当PHP FastCGI服务器,这一句就是fast-cgi设置,分两个部分,逗号前为php-cgi这个文件的路径,逗号后是php进程数
CertificateFile=/xxxx/xx.crt    #SSL证书路径(如果需要使用https协议才填)
CertificateKeyFile=/xxxx/xx.key    #SSL密钥文件路径(如果需要使用https协议才填)

配置好即可,事实上基本上只要配置 SiteLogDir 和 SiteConfigDir 就可以很好的工作了
更多请参考官方文档 —— 但是 !

上面说过的重点来了
Jexus 社区做的非常烂的一点在于——他们的官方文档——根本就懒得更新!

在文档的第七章,他们写道

4、使用脚本操作Jexus(推荐使用):
Jexus自带了三个脚本,分别是:jws.start、jws.restart、jws.stop。

功能1,对Jexus服务器操作:
jws.start #启动JEXUS服务,可以写入rc.local文件中,从而达到开机自启动的目的;
jws.stop #停止Jexus的运行。
jws.restart #重启Jexus;

功能2,对某个指定的网站操作:
jws.restart 网站名 #加载/启动/重启一个指定的网站
jws.stop 网站名 #停止一个指定的网站

事实上,Jexus 5.3.1版本开始,他们的命令已经变更了!他们的命令已经变更了!他们的命令已经变更了!
重要的事情说三次
事实上,Jexus 5.3.1版本之后,使用上面的操作,什么也做不到

要对站点进行启动之类的操作的话,请遵照下面的方式进行

启动jexus 检查是否正常了

启动 /usr/jexus/jws start

停止 /usr/jexus/jws stop

重启 /usr/jexus/jws restart