Serve asp.net mono app on arch linux using fastcgi aspnet in ngnx.
STEP 1: Be sure this conf included in main config.
$ cat /etc/nginx/nginx.conf
....
http {
include /etc/nginx/conf.d/*.conf;
.....
STEP 2: create server config for ngnx in /etc/nginx/conf.d/mb_mono_ngnx.conf
server {
listen 443 ssl;
server_name vav.mbirgin.com vav.gilgonn.cloudns.org;
ssl_certificate /etc/letsencrypt/live/mbirgin.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mbirgin.com/privkey.pem;
location / {
root /mb/var/www/mbirgin/vav.mbirgin.com;
index default.aspx index.html;
fastcgi_pass 127.0.0.1:9003;
include fastcgi_params;
fastcgi_param PATH_INFO "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
STEP 3: create a service file with the content
[root@archpc ~]# cat /etc/systemd/system/mono-fastcgi-vav.service
[Unit]
Description=FastCGI Mono Server for vav.mbirgin.com
After=network.target
[Service]
Type=simple
Environment=MONO_IOMAP=all
ExecStart=/usr/bin/fastcgi-mono-server4 /applications=/:/mb/var/www/mbirgin/vav.mbirgin.com/ /socket=tcp:127.0.0.1:9003
User=http
Group=http
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
STEP 4: Enable the app, test config and restart services.
$ sudo systemctl enable --now mono-fastcgi-vav.service
$ sudo nginx -t
$ sudo systemctl restart nginx mono-fastcgi
STEP 5: Test the app:
curl https://vav.mbirgin.com