Centos、Ubuntu 安裝 Mono、Jexus

Mono是.NET的跨平臺實現html

在衆多關於語言的爭論中,.NET一直被以不能跨平臺而詬病,Mono改變了這一現狀。linux

有人小心Mono會涉及版權啥的問題。高深的偶不懂,不過我以爲Unity3D都能用,爲何咱們不能用。 :)c++

 

Jexus是Linux下免費的服務器軟件。Jexus做者宇內,已對Mono作了大量嘗試,穩定靠譜。git

我本身目前也有一個爬蟲項目正在Mono上進行中。項目尚未完成。趁着空擋留個記錄吧。github

 

安裝方法在如下環境測試過,均運行在VMware上bash

  • CentOS 6.2 32  最小安裝
  • Centos 7.0 64  最小安裝
  • Ubuntu 14.04 Server 64   默認

均使用root身份執行命令 服務器

若是不安裝Jexus,作到步驟5,你的Mono就能夠使用了網絡

 

1. 防火牆就直接關閉了,防止新手不知道爲啥總是不能訪問的狀況

ssh

//Centostcp

Centos7 使用新的firewalld,再也不使用iptables

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --add-port=80/tcp
//添加端口號到防火牆白名單
若是你不想關閉firewalld

若是是CentOS6則使用:

service iptables stop
chkconfig iptables off
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
//低版本使用 /etc/rc.d/init.d/iptables save 保存
若是你不想關閉iptables

 //Ubuntu

 //Ubuntu默認沒有防火牆,可是帳號權限低,先開啓root,安裝SSH。

 //此步完成後,請改用Root帳戶登入,避免權限不足,安裝過程結束後建議停用Root帳號

sudo passwd root //輸入當前用戶密碼 //輸入、重複 root 新密碼
 apt-get install ssh      //安裝SSH,待會兒能夠遠程上傳安裝包
vi /etc/ssh/sshd_config  //而後按i進入編輯模式 //把 PermitRootLogin without-password 修改成 PermitRootLogin yes //按ESC,退出編輯模式,輸入:wq保存
sudo service ssh restart    //要求輸入密碼 //這樣你就能夠用SSH遠程控制或者上傳了
sudo passwd -l root
若是你想禁用root帳號

 

2. 安裝一些基礎的包

//Centos

我在安裝Centos的時候選擇了最小安裝,大部分組件是沒有的。先用yum命令,安裝一通(若是須要網絡命令,yum install net-tools)

yum -y install wget glib2-devel libtiff libtiff-devel libjpeg libjpeg-devel giflib giflib-devel libpng libpng-devel libX11 libX11-devel freetype freetype-devel fontconfig fontconfig-devel libexif libexif-devel gcc-c++ gettext unzip zip bzip2 bzip2-devel

安裝須要執行一段時間,具體時間按照你的網絡性能而定。安裝完畢

 //Ubuntu用戶

apt-get install build-essential automake autoconf libtool bison gettext pkg-config libgdiplus

 

3. 在/usr目錄創建一個文件夾保存源碼包

cd /usr mkdir software
cd software

4. 先下載並編譯安裝libgdiplus,用來支持MONO的GDI  

//Ubuntu略過第四部,前面已APT安裝libgdiplus,跳到5

方案1

wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
tar -xjf libgdiplus-2.10.tar.bz2 cd libgdiplus-2.10 ./configure --prefix=/usr make && make install

 執行「./configure --prefix=/usr」後

 

方案2 #7樓 那一劍風情  提供。感謝宇內耐心指導

yum -y install libtool* git
git clone git://github.com/mono/libgdiplus.git
//速度比較慢,我已經Clone,並上傳到園子裏來了,你能夠直接 wget
//wget http://files.cnblogs.com/Zendic/libgdiplus.zip
unzip libgdiplus.zip
cd libgdiplus
./autogen.sh --prefix=/usr
make
make install

 

 

5. 安裝Mono

3.4,3.4這個版本官方的源碼包,少了一些文件,以致於安裝會出現問題。咱們使用shanyou帖子裏面發的Mono3.4

下載地址:http://pan.baidu.com/s/1eQ452Ie

引用shanyou帖子:http://www.cnblogs.com/shanyou/p/3655447.html

mono-3.4.0.tar.gz 下載後上傳到 /usr/software 目錄,使用FlashFXP,XShell等工具SSH上傳便可  

   

而後開始按下面解壓並安裝

tar -xzf mono-3.4.0.tar.gz cd mono-3.4.0 ./configure --prefix=/usr make && make install

安裝過程比較漫長,我CPU:I3 380M,VM虛擬機, make install 估計去了半個小時

等到安裝結束,能夠使用 mono -V(大寫)  命令,來查看版本信息

//到這,你已經能夠使用  mono HelloWorld.exe 這樣的方式來執行你.NET程序了。

//若是你不須要Jexus作Web服務器,到這便可結束

//隨便寫個控制檯程序,而後從項目debug目錄上傳到linux運行一下

6. 能夠安裝Jexus了

cd /usr/software wget linuxdot.net/down/jexus-5.6.1.tar.gz tar -zxvf jexus-5.6.1.tar.gz cd jexus-5.6.1 
./install

這樣,Jexus就安裝好了

7. 啓動JEXUS

啓動 /usr/jexus/jws start 中止 /usr/jexus/jws stop 重啓 /usr/jexus/jws restart

自此,使用 http://你的IP/info便可驗證Jexus是否啓動

 

8. 跟隨Centos/Ubuntu啓動Jexus

方案1. 添加到 /etc/rc.local,跟隨啓動 

//經嘗試,Ubuntu跟Centos6,可以使用方案1。Centos7不知道爲啥不行,若是是Centos7請使用方案2,若是有大神知道麻煩說下爲何

vi /etc/rc.local 按 i 鍵進入編輯模式 添一句 /usr/jexus/jws start 按ESC退出編輯模式,輸入 :wq保存文件
//Ubuntu用戶請加在 exit 0 前面哈

方案2. 添加爲系統服務,啓動

cd /etc/init.d/       
vi jws

按i編輯模式,粘貼下面內容

#!/bin/bash #chkconfig: 2345 80 05 #description:jws # . /etc/rc.d/init.d/functions case "$1" in start) echo "Jexus Start.."
  /usr/jexus/jws start ;; stop) echo "Jexus Stop.."
  /usr/jexus/jws stop ;; restart) echo "Jexus Restart"
  /usr/jexus/jws restart ;; status) /usr/jexus/jws status ;; *) exit 1 ;; esac exit $RETVAL

按ESC後,輸入:wq保存文件

把這個腳本做爲「服務」加入

chkconfig --add jws

至此,JEXUS已跟隨系統啓動,能夠reboot一下試試看

你也能夠經過修改 /usr/jexus/siteconf 裏面的文件,來修改站點配置。

相關文章
相關標籤/搜索