[CentOS7] 运行 [asp.net] [mono+nginx] 配置

  1. Add the Mono repository to your system
    The package repository hosts the packages you need, add it with the following commands in a root shell.
    Note:the packages should work on newer CentOS/RHEL versions too but we only test the ones listed below.
    CentOS/RHEL 8(x86_64)
rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" 
su -c 'curl https://download.mono-project.com/repo/centos8-stable.repo | tee /etc/yum.repos.d/mono-centos8-stable.repo' 

CentOS/RHEL 7(x86_64)

rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" 
su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo' 

CentOS/RHEL 6(x86_64, i686)

rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" 
su -c 'curl https://download.mono-project.com/repo/centos6-stable.repo | tee /etc/yum.repos.d/mono-centos6-stable.repo' 
  1. Install Mono
yum install mono-devel

(The package mono-devel should be installed to compile code. )

The package mono-complete should be installed to install everything – this should cover most cases of “assembly not found” errors.
The package referenceassemblies-pcl should be installed for PCL compilation support – this will resolve most cases of “Framework not installed: .NETPortable” errors during software compilation.

The package xsp should be installed for running ASP.NET applications.

yum Install xsp

输入mono -V 如有mono版本信息,则安装成功

  1. Verify Installation
    After the installation completed successfully, it’s a good idea to run through the basic hello world examples on this page to verify Mono is working correctly.

/etc/nginx/conf.d 下面增加网站配置文件,比如default.conf


server { 
   listen 80; 
   server_name mywebsite.com; 
   access_log /var/log/nginx/dysonkb.com.access.log;
   location / { 
     root /var/www/mywebsite; 
     index index.html index.htm Default.aspx; 
     fastcgi_index Default.aspx; 
     include fastcgi_params; 


fastcgi_param  PATH_INFO          ""; 
fastcgi_param  SCRIPT_FILENAME    document_rootfastcgi_script_name; 

启动 fastcgi_mono服务器

mkdir -p /var/www/PMIARC  #存放mono处理的网站 
/user/bin/fastcgi-mono-server4 /applications=/:/var/www/mywebsite /socket=tcp: &


systemctl restart nginx


fastcgi-mono-server4 --appconfigdir /var/www/mono-fastcgi /socket=tcp: /logfile=/var/log/mono/fastcgi.log &

每个网站的配置文件名字 MonoWebApi.webapp


return top