1. 程式人生 > >在Linux離線部署ASP.NET MVC,運用mono-3.12.1+jexus-5.6.3

在Linux離線部署ASP.NET MVC,運用mono-3.12.1+jexus-5.6.3

之前寫的忘記檢查了,結果大部分是沒有顯示出來的,今天查了回收站,才發現出問題了。下面是全部內容

寫在前面:

這段時間,因為專案條件限制,需要在Linux伺服器上,離線部署ASP.NET MVC4的專案。今天總算完成部署的任務。廢話不多說。

部署流程:

零、下載相應的包。可在部署參考中的相應網站找到相應的包,下載即可。
一、安裝lib和gcc的rpm包,供環境支援和編譯使用。
二、安裝libgdiplus-2.10,供環境支援。三、安裝mono-3.12.1
四、安裝jexus-5.6.3
五、配置jexus,以部署網站,測試jexus
六、網站釋出並部署

七、部署參考

部署流程詳細描述:

一、安裝lib和gcc的rpm包,供環境支援和編譯使用。

1.解壓縮成zip包,故在Linux環境中,可用一下命令進行解壓檔案。

unzip lib.zip
unzip gcc.zip

2.壓縮後用命令進入lib資料夾,並執行命令,安裝rpm包。ls是檢視資料夾內檔案

cd lib
ls
rpm -ivh --force --nodeps ./*.rpm

3.用命令進入gcc資料夾,並執行命令,安裝rpm包。命令ls是檢視資料夾內檔案,命令cd ..是返回上級資料夾。

cd ..  
cd gcc  
ls  
rpm -ivh --force --nodeps ./*.rpm

4.配置gcc路徑

ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/ hash -r  

5.檢驗gcc安裝成功與否。

gcc --version


二、安裝libgdiplus-2.10,供環境支援。

1.返回上一層資料夾目錄,解壓縮包,進入壓縮後的資料夾,賦予configure許可權,執行命令。

cd ..//返回上一層
tar -jxvf libgdiplus-2.10.tar.bz2//解壓
cd libgdiplus-2.10//進入資料夾 
chmod 775 configure//賦予許可權
./configure --prefix=/usr//編譯
sudo make && make install//安裝

三、安裝mono-3.12.1

1.先檢視當前mono版本,有些系統會自帶,如果有,則執行find命令,並執行rm命令刪除相應的資料夾。若原版本的安裝包還在,則進入原安裝包,進行make uninstall和make clean操作

mono -V
find / -name 'mono'//查詢 
rm -rf /usr/lib/mono//例子,具體看find到的進行刪除,替換路徑。

2.解壓安裝包,並進入資料夾,進行編譯。

tar -jxvf mono-3.12.1.tar.bz2//解壓縮包
cd mono-3.2.1
chmod 775 configure//賦予許可權 
./configure --enable-big-arrays --with-large-head --prefix=/usr --libdir=/usr/lib64//編譯
sudo make//安裝準備
sudo make install//安裝

3.配置mono的路徑。很重要!是LDCONFIG的小寫。

ldconfig

4.新增mono的lib路徑。執行vi或vim命令,進行編輯profile檔案,找到export PATH*********一行,在下面進行新增export語句。

vi /etc/profile
export PATH="$PATH:/root/bin"//3和4兩步,可關係到jexus能否安裝成功。

5.檢視mono版本,若有版本資訊則安裝成功,嗯,安裝成功,但一定要配置好3,4步驟。

mono -V//檢視版本

四、安裝jexus-5.6.3

1.解壓包,並進入資料夾,執行安裝命令。預設安裝在/usr/jexus目錄下。jexus的安裝類似綠色軟體的安裝。

要解除安裝jexus,則可以直接進行rm操作
tar -zxvf jexus-5.8.2.tar.gz//解壓
sudo ./install//安裝
rm -rf /usr/jexus//需要解除安裝刪除時,才執行。

2.問題解決。

若install後出現 ./jws: line 118:gacutil:command not found   ,則表示您安裝mono的時候3、4兩步未配置好,或者是gcc沒安裝正確。這會造成你啟用jexus的時候failed。

五、配置jexus,以部署網站,測試jexus

1.新增資料夾default。以做測試jexus執行

mkdir /var/www/default    //建立資料夾,若無www,則先 mkdir /var/www

2.用start測試Jesus開啟,顯示ok則ok,然後用ifconfig命令檢視當前ip,用瀏覽器瀏覽ip+80/info,

如:192.168.1.112:80/info,若顯示Welcome to jexus! 則表示啟用成功。

另:用cat命令,進行檢視jexus日誌。

sudo /usr/jexus/jws start//開啟jexus
cat /usr/jexus/log/jws.log//檢視日誌

六、網站釋出並部署

1.新增網站專案放置的資料夾,如pjq,並將釋出的專案放到此資料夾內,

另有注意事項,專案釋出的時候,去除預編譯的勾,釋出後,刪除專案bin目錄中的dll:System.Web.Providers.dll和 Microsoft.Web.Infrastructure.dll,因為mono已有替代的東東,反正就不用這倆。

mkdir /var/www/pjq//建立資料夾

2.設定不區分大小寫,用vi或vim修改jws檔案,vi的編輯模式操作看下面提示。

mkdir /var/www/pjq//建立資料夾

摁 i 進入編輯模式,並取消# export MONO_IOMAP="all"這段內容的前面的#

esc返回command模式,
:wq  儲存

3.新增所要部署專案的檔案,注意跟1中新建的資料夾同名,這裡直接複製default檔案為pjq,並vi進行修改pjq檔案

cd /usr/jexus/siteconf/       //進入資料夾
cp default  pjq    //複製檔案為pjq
vi pjq    //進入vi修改模式

修改後如下: port=8080//埠看自己情況而定,待會還要在防火牆開放此埠。 root=/ /var/www/pjq//此路徑為第一步新建的資料夾路徑,即專案放置的路徑。 hosts=*    #OR your.com,*.your.com

4.開放埠。vi進行修改iptables檔案,防火牆的設定視具體情況而定。這裡開放8080埠。

vi /etc/sysconfig/iptables    //進入修改模式
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
FORWARD ACCEPT [0:0] -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

5.開啟jexus服務,並檢視開啟日誌。

sudo /usr/jexus/jws start    //啟動jexus

6.測試網站的啟動,ip+埠/info。測試網站執行,ip+埠

如:192.168.1.12:8080/info如有Welcome to Jexus!則表示開啟成功。
sudo /usr/jexus/jws restart    //重啟jexus
sudo /usr/jexus/jws stop    //停止jexus
cat /usr/jexus/log/jws.log    //檢視日誌

192.168.1.12:8080如可正常訪問網站就ok啦。若不行,則看頁面報錯的相應提示。

七、部署參考:另可查詢:張善友的部落格。