很早之前就開始關註.net跨平臺,最近正好測試了下用EF6連接mysql,於是就想直接把網站扔進Linux。查了很多資料,鼓搗了兩個晚上,終於成功。 這裡我使用的是budgetvm的1G openvz vps,centos7 64位。原本按照普遍的做法編譯mono,各種失敗,之後在官網上看到了官方推
很早之前就開始關註.net跨平臺,最近正好測試了下用EF6連接mysql,於是就想直接把網站扔進Linux。查了很多資料,鼓搗了兩個晚上,終於成功。
這裡我使用的是budgetvm的1G openvz vps,centos7 64位。原本按照普遍的做法編譯mono,各種失敗,之後在官網上看到了官方推薦的安裝方法,簡單有效。
1.在root許可權下執行
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
(若上面第二行執行失敗,先執行下麵一行,再重新執行上面第二行)
yum -y install yum-utils
前兩行執行成功後,執行安裝mono所有軟體包
yum –y install mono-complete
安裝完後,執行
mono –V
會顯示mono版本信息,這裡會安裝最新的穩定版。2016年3月20日最新穩定版mono-4.2.3.4
2.安裝jexus5.8.1
cd /tmp wget linuxdot.net/down/jexus-5.8.1.tar.gz tar -zxvf jexus-5.8.1.tar.gz cd jexus-5.8.1 sudo ./install
此時啟動jexus會啟動失敗,查看日誌發現80埠被占用,查看80埠占用情況,發現是centos自帶的apache占用了80埠
3.卸載占用80埠的apache
rpm -qa|grep httpd rpm -e httpd
4.啟動jexus
啟動:sudo /usr/jexus/jws start 停止:sudo /usr/jexus/jws stop 重啟:sudo /usr/jexus/jws restart 重啟指定網站:sudo /usr/jexus/jws restart siteName 停止指定網站:sudo /usr/jexus/jws stop siteName
由於centos防火牆設置問題,需要開放80埠:
vi /etc/sysconfig/iptables 在其中增加一行 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 保存後。重啟防火牆 service iptables restart
此時,我們可以打開http://your ip/info 來查看你的jexus是否已成功啟動,如http://www.jenyunet.com/info
5.配置網站
進入目錄/usr/jexus/siteconf修改網站配置,具體見jexus官網。
6.支持的.net版本和mvc問題
有人說mono自4.2.1開始就已經支持mvc5了,但我把mvc5的網站放上去就報錯,無法解決。
後來查看了下報錯信息,發現mono-4.2.3.4支持的.net 對應版本是4.0.30319.17020 而.net4.5版本為4.0.30319.17929 .net4.5.1版本為4.0.30319.34003,
所以mono-4.2.3.4是不支持.net4.5及以後的版本的,所以mvc5也應該是不支持的
把網站從mvc5.2修改到mvc4,其中還報廢了httpclint這個新玩意,傳上去運行正常。我的項目