1. 程式人生 > >在.NET Core之前,實現.Net跨平臺之Mono+CentOS+Jexus初體驗

在.NET Core之前,實現.Net跨平臺之Mono+CentOS+Jexus初體驗

準備工作

本篇文章採用Mono+CentOS+Jexus的方式實現部署.Net的Web應用程式(實戰,上線專案).

該專案採用標準的MVC5+EF6.1.3+Jquery UI的形式實現,目前執行穩定,略有小瑕疵積極修復中(文章最後會提到).

文章中的Linux系統為:騰訊雲 CentOS 7.1 64位

資料庫為SQL Server 2008R2(注意:資料庫並不在Linux上部署而是在一臺Windows Server上)

效果如下:

下面開始正文

正文

1.更新系統

yum –y update

2.安裝Mono原始碼安裝需要的庫

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

3.安裝Mono需要的GDI+相容API的庫Libgdiplus

cd /usr/local/src/

tar -jxvf libgdiplus-4.2.tar.gz (根據你上面下載的版本號來解壓對應的檔案,此處以4.2為試例)

cd libgdiplus-4.2 (根據版本號進入相應的解壓後的資料夾,此處以4.2為試例)

./configure --prefix=/usr

make

make install

4.安裝Mono

cd /usr/local/src/

wget http://download.mono-project.com/sources/mono/(這裡是版本號,各位請直接訪問此連線檢視最新版本並下載,本文編寫時最新版本為:mono-4.3.2.467.tar.bz2

)

tar -jxvf mono-4.3.2.467.tar.bz2同理,解壓您下載的最新版本.

./configure --prefix=/usr

make

make install

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

5.安裝Jeuxs

cd /tmp
wget linuxdot.net/down/jexus-5.8.1.tar.gz (請自行去官網查詢最新版本安裝,本文以5.8.1為例項.)
tar -zxvf jexus-5.8.1.tar.gz 
cd jexus-5.8.1 
sudo ./install 

安裝完成後執行

sudo /usr/jexus/jws start

在遊覽器中輸入你伺服器的外網IP地址如:127.0.0.1/info,會看到

至此,安裝環境已經全部準備OK

下面開始講解如何部署我們的Web程式到jexus上.

部署專案

首先在你的開發機上下載WinSCP (當然不侷限於WinSCP,只是為了與Linux互動檔案,大家可以隨意選擇順手的)

開啟伺服器上開啟/usr/jexus/siteconf資料夾如圖:

開啟default檔案,修改其中的的文字:

port=8080   (網站的埠)
root=/ /var/wwww (網站的資料夾位置)
hosts=* #OR your.com,*.your.com (你的域名)

基本配置解釋如下:

網站配置的基本內容:
port=80                          # jexus WEB伺服器偵聽埠(必填。當然可以是其它埠)
root=/ /var/www/mysite           # 網站URL根路徑(虛擬目錄)和對應的物理路徑,兩個路徑字串之間必須用空格分開(必填。既使這個網站是一個純粹的反向代理站,也得填)

#可選項
hosts=mysite.cn,www.mysite.cn    # 網站域名(建議填寫),可以用泛域名,比如:*.mysite.cn(不填此項或只填一個“*”號表示這是預設網站,一個埠只能有一個預設站)
indexs=index.aspx,index.htm      # 首頁檔名,可以寫多個,用英文逗號分開(可以不填。因為JWS系統含有常用首頁名)
aspnet_exts=mspx,ttt             # 新增新出現的或自定義的ASP.NET副檔名(不建議填。多個副檔名用英文逗號分開,不加點號。系統含有常用副檔名)

更加詳細Jexus的配置資訊請參考:

http://www.linuxdot.net/bbsfile-3084

然後我們通過WinSCP將Web應用拷貝到我們剛剛填寫的/var/wwww資料夾中.

然後在伺服器中輸入:

sudo /usr/jexus/jws restart (重啟你的Jexus)

大功告成.