备忘录

记录点滴技术

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

参考《在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)》,但由于操作系统版本不一样,个别命令要修改

1、安装apache

sudo apt-get install apache2

2、安装mono及apache支持模块,这里安装很正常,并没有文中提到的卡死情况,应该是已经修复这个bug了。

sudo apt install mono-devel
sudo apt-get install mono-apache-server4
sudo apt-get install libapache2-mod-mono
sudo vim /etc/apache2/mods-available/mod_mono.conf

编辑mod_mono.conf文件,添加“MonoAutoApplication enabled”一行,如下图:

 

sudo /etc/init.d/apache2 restart 

重启apache2,把aspx页面上传至默认路径/var/www/下面,在浏览器输入对应的页面地址,应该是能正常打开。

 

3、windows平台下网页路径大小写忽略的,但linux下面大小写区分的,如果需要忽略大小写,还需要配置speling模块,参考了《ubuntu上apache大小写不敏感的配置 case insensitive》

sudo vim /etc/apache2/mods-available/speling.conf

输入 CheckSpelling on 到speling.conf文件中,并保存退出:如下图:

 

 

sudo a2enmod speling
sudo /etc/init.d/apache2 restart 

载入模块,重启apache2即可生效

 

4、启用https支持,参考了《在Ubuntu系统下的Apache2安装SSL证书》

sudo vim /etc/apache2/sites-available/default-ssl.conf

编辑default-ssl.conf文件,按实际路径修改证书文件路径,我这里没有中间证书,就不做配置。

这里注意,要把证书路径后面的注释要去掉或放单独一行,否则重启apache时会报“SSLCertificateFile takes one argument, SSL Server Certificate file (’/path/to/file’ - PEM or DER encoded)”这样的错误。

 将default-ssl.conf映射至/etc/apache2/sites-enabled目录,实现两者之间的自动关联,启用ssl模块并重启apache使其生效。

sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf
sudo a2enmod ssl sudo
/etc/init.d/apache2 restart

 

5、配置本地的asp.net StateServer

如果Session模式为StateServer,需要运行一个外接的Session状态管理服务器,Mono/xsp下就有个asp-state的程序用于管理Session状态,但这个程序只能通过命令行运行,无法配置为自动执行的服务,需要稍作修改,源码在此

先把编译后的两个文件StateServer.exe和StateServer.exe.config放在/var/www/html/目录下,新建一个asp-state.service服务文件,命令如下

sudo nano /etc/systemd/system/asp-state.service

在编辑器中输入如下代码:

[Unit]
Description=asp.net StateServer
After=network.target

[Service]
ExecStart=/usr/bin/mono $MONO_OPTIONS "/var/www/html/StateServer.exe" "$@"
Restart=always

[Install]
WantedBy=multi-user.target

保存退出,执行如下命令启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable asp-state
sudo systemctl start asp-state

如何配置服务,参考了《linux-开机启动nodejs脚本》《Ubuntu/linux c开发(11)执行文件注册服务,开机自启》

 

posted on 2024-07-03 09:07  goding  阅读(19)  评论(0编辑  收藏  举报