1. 程式人生 > >centos7下linux運行asp.net,c#網站搭建配置-mono+nginx

centos7下linux運行asp.net,c#網站搭建配置-mono+nginx

server 3.0 正常 document local fire tle pan path

centos7下linux運行asp.net,c#網站搭建配置-mono+nginx

一、首先安裝一些需要的軟件包

首先更新CentOS上的軟件包:

yum –y update

安裝一些需要的庫:

yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel  cairo-devel httpd build-essential  bzip   glib-devel  httpd-devel   freetype fontconfig pango-devel ruby ruby-rdoc gtkhtml38-devel wget automake autoconf libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev  libgif-dev libtiff4-dev libpng12-dev  libxft-dev
yum groupinstall "Development Tools"

以上的包挺多的,但是為了保險起見,還是全部安裝吧,有可能還會有缺少包的情況,就使用yum自己安裝吧。

二、下載所需要的軟件包

Nginx安裝包:下載地址:http://nginx.org/en/download.html

mkdir -p /down
cd /down
wget http://nginx.org/download/nginx-1.6.0.tar.gz

Mono下載:官網:http://download.mono-project.com/sources/mono/(請下載最新版)

wget http://download.mono-project.com/sources/mono/mono-3.10.0.tar.bz2

Libgdiplus:

wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-5.6.tar.gz

xsp:xsp是Mono提供的一個測試版本的服務器,但是也提供Nginx運行asp.NET的fastcgi。

官網上的xsp是2.x的,這個版本的fastcgi-mono-server4不能用;所以需要從github上下載最新的3.0版本。(Git之前,要使用yum –y intall git安裝git包。)

yum -y install git。

git clone https://github.com/mono/xsp.git

pcre:

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.23.tar.gz

安裝libgdiplus:

cd /usr/local/src

tar –zxvf /down/libgdiplus-5.6.tar.gz

cd libgdiplus-5.6.tar.gz

./configure –prefix=/usr

make && make install

安裝xsp:

./down/xsp/autogen.sh –prefix=/usr
#(錯誤處理,find /|grep 錯誤關鍵字  之後cp 到configure的目錄覆蓋即可繼續make)
make && make install

安裝pcre:

cd /usr/local/src

tar –jxvf pcre-8.33.tar.bz2

cd pcre-8.33

./configure --prefix=/usr

make && make install

安裝Nginx

wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar zxvf nginx-1.9.9.tar.gz
cd nginx-1.9.9 
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module 
make && make install
cd ../

開放80端口:

firewall-cmd --permanent --zone=public --add-port=80/tcp

#啟動nginx

systemctl restart nginx

在瀏覽器上輸入訪問地址 http://45.127.66.79(根據個人本機地址頁定),正常會看到默認nginx頁面

三、安裝編譯Mono

安裝Mono:

cd /down
tar -jxvf mono-3.10.0.tar.bz2
cd mono-3.10.0
./configure --prefix=/usr

make 
make install
cd ../

輸入mono -V 如有mono版本信息,則安裝成功.

四、配置Nginx

vi /etc/nginx/nginx.conf#修改server_name _ 為server_name  你的ip

vi /etc/nginx/conf.d/mono.conf#添加mono需要的配置內容如下
server {
         listen   80;
         server_name 你的ip;
         location / {
                 root /data0/web;
                 index index.html index.htm index.aspx default.aspx Default.aspx;
                 fastcgi_index Default.aspx;
                 fastcgi_pass 127.0.0.1:9000;
                 include fastcgi_params;
         }
 }

五、配置fastcgi_params增加下面兩行:

vi /etc/nginx/conf/fastcgi_params
fastcgi_param  PATH_INFO          "";
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

六、啟動:
啟動 fastcgi_mono服務器

mkdir /data0/web/www  #存放mono處理的網站
fastcgi-mono-server4 /applications=/:/data0/web/www /socket=tcp:127.0.0.1:9000 &

重啟nginx:

systemctl restart nginx

在/data0/web下方個Default.aspx , 然後通過瀏覽器訪問 這個機器的Ip即可,看到了Default.aspx的內容就OK了。Default.aspx內容如下:

<%@ Page Language="C#" %>
<html>
<head>
<title>Sample Calendar</title>
</head>
<asp:calendar showtitle="true" runat="server">
</asp:calendar>

centos7下linux運行asp.net,c#網站搭建配置-mono+nginx