centos+mono+nginx+jexus 搭建linux下c#运行环境测试

转载 2015年07月08日 15:55:45

centos+mono+nginx+jexus 搭建linux下c#运行环境测试

Centos 7.0 安装Mono 3.4 和 Jexus 5.6

引自 http://www.cnblogs.com/shanyou/p/3887223.html


一、更新系统,安装编译环境,为编译Mono源码做准备。

1、 更新系统 

yum –y update

2、安装Mono源码安装需要的库

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 curl-devel gtk2-devel boost-devel

3、安装Mono需要的GDI+兼容API的库Libgdiplus

git clone git://github.com/mono/libgdiplus.git
cd libgdiplus
./autogen.sh --prefix=/usr
make && make install

二、源码安装Mono 3.4

3.4这个版本官方的源码包,少了一些文件,以至于安装会出现问题,具体可以参考 mono-3.4.0 源码安装时出现的问题 (http://www.cnblogs.com/shanyou/p/3655447.html) 解决方法。 或直接从 http://pan.baidu.com/s/1eQ452Ie 下载
下载后上传到/usr/local/src
tar -zxvf mono-3.4.0.tar.gz
./configure --prefix=/usr --libdir=/usr/lib64

这里加上--libdir=/usr/lib64 ,主要是P/Invoke ,具体参考 MONO x64 amd_x64

make && make install

输入 mono -V 如有mono版本信息,则安装成功.


如果是64位版本的CentOS,建议你运行下命令ldconfig,建议大家在安装mono后,都 ldconfig一下 。(ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表. )


另外有一点也非常重要,要在编译Mono的是指定安装到/usr(./configure --prefix=/usr),如果安装到一个系统根本"不了解"的文件夹,仅ldconfig都不行,还要在/etc/ld.so.conf文件或/etc/ld.so.conf.d
中添加路径后再 ldconfig才行呢。

三、安装Jexus 5.5


从5.3.1版本开始,Jexus的安装过程简化了,内置了两个新的脚本,它们分别是“install”和“upgrade”,对应原来的“安装”和“升级”,将Jexus的安装过程自动化了。jexus本身的安装和升级方式并没有发生更多的变化,因此对于已经习惯于5.3.1之前版本的使用方式的用户,你们仍然可以采用之前的安装方式。
wget linuxdot.net/down/jexus-5.6.1.tar.gz
tar -zxvf jexus-5.6.1.tar.gz
cd jexus-5.6.1
./install
安装完成~!!!在执行install脚本时,jexus默认是安装到/usr/jexus/中,如果想安装到其他目录,可以在执行该脚本时增加一个目录的参数(比如 sudu install /usr/local/jexus/)。对于升级就是执行upgrade脚本。

启动jexus 检查是否正常了

启动  /usr/jexus/jws start
停止  /usr/jexus/jws stop
重启  /usr/jexus/jws restart
自此,使用 http://你的IP/info即可验证Jexus是否启动

五、添加为系统服务,随系统启动

Zendic 写的 Centos、Ubuntu 安装 Mono、Jexus,其中有把Jexus添加为系统服务的代码:

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保存文件


把这个脚本作为“服务”加入


chmod 766 jws

chkconfig --add jws


至此,JEXUS已跟随系统启动,可以reboot一下试试看


你也可以通过修改 /usr/jexus/siteconf 里面的文件,来修改站点配置。
要想测试asp.net网站 可以 cp /usr/jexus/sitconf/default /usr/jexus/sitconf/mysite1 复制得到一个自己的站点配置,把里面的端口和文件目录改掉
port=80
root=/ /var/www/html/mysite1
再在 /var/www/html/下新建个 mysite1 把网站文件放进来

http://ip/页面地址 访问,注意大小写 

该方案测试通过,简单的做了个asp.net网站运行正常,但把原来一个在iis运行正常的网站放进来,运行出错,暂时还不知道错误原因。


----CentOS搭建Nginx+Mono运行ASP.NET环境---

引自 http://www.centoscn.com/CentosServer/www/2014/0807/3449.html

一、获取开源相关程序

1、利用CentOS Linux系统自带的yum命令安装、升级所需的程序库:
 
sudo -s
LANG=C
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel bison pkgconfig glib2-devel gettext make

2、下载程序源码包

Nginx安装包:下载地址:http://nginx.org/en/download.html
 
mkdir -p /down
cd /down
wget http://nginx.org/download/nginx-1.1.11.tar.gz
Mono下载:官网:http://download.mono-project.com/sources/mono/(请下载最新版)
 
wget http://download.mono-project.com/sources/mono/mono-2.10.7.tar.bz2
libgdiplus下载:http://download.mono-project.com/sources/libgdiplus/(请下载最新版)
 
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
xsp下载:http://download.mono-project.com/sources/xsp/(请下载最新版)
 
wget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2
pcre下载(Nginx所需的pcre库):FTP://ftp.csx.cam.ac.uk/pub/software/programming/pcre/(请下最新版)
 
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz

二、安装编译Nginx

1、安装安装Nginx所需的pcre库
 
cd /down
tar zxvf pcre-8.21.tar.gz
cd pcre-8.21/
./configure
make && make install
cd ../
2、创建www用户和组
 
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
mkdir -p /data0/web
chmod +w /data0/web
chown -R www:www /data0/web
3、安装Nginx
 
tar zxvf nginx-1.1.11.tar.gz
cd nginx-1.1.11/
./configure --user=www --group=www --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../
4、开放80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT


启动nginx
1
/opt/nginx/sbin/nginx
在浏览器上输入访问地址 http://192.168.1.1(根据个人本机地址页定),正常会看到默认nginx页面

三、安装编译Mono

1、安装libgdiplus
 
cd /down
tar -jxvf libgdiplus-2.10.tar.bz2
cd libgdiplus-2.10
./configure --prefix=/usr
make && make install
ldconfig

2、安装Mono

tar –jxvf mono-2.10.7.tar.bz2
cd mono-2.10.7
./configure --prefix=/usr
make && make install //此处时间较长
ldconfig
 
echo export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
echo export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH>>~/.bash_profile
echo export PATH=/usr/bin:$PATH>>~/.bash_profile source ~/.bash_profile
输入 mono -V 如有mono版本信息,则安装成功.


3、安装XSP
cd /down
tar –jxvf xsp-2.10.2.tar.bz2
./configure --prefix=/usr
出现 configure: error: You need to install 'gmcs',错误 
XSP未能安装
make && make install


四、配置Nginx
 
vi /opt/nginx/conf/nginx.conf
server {
listen 80;
server_name localhost;
      location / {
          root /data0/web;
          index index.html index.htm;
          fastcgi_index Default.aspx;
          fastcgi_pass 127.0.0.1:9000;
          include fastcgi_params;
      }
}
五、配置fastcgi_params增加下面两行
 
vi /opt/nginx/conf/fastcgi_params
fastcgi_param PATH_INFO "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
六、启动
1、重启nginx
 
/opt/nginx/sbin/nginx -s reload
2、启动 fastcgi_mono服务器
 
 
fastcgi-mono-server2 /applications=/:/data0/web /socket=tcp:127.0.0.1:9000 &
未能测试,fastcgi-mono-server2 找不到该命令


七、测试
新建一个asp.net Web项目上传至 /data0/web目录下,测试运行。


另外一篇关于jexus的文章 http://wenku.baidu.com/link?url=CzIkvNlbyKg6jP0LJThY_PQmbAKI-5Ito-T9E7OMOSugNpJt_c59Wgb8K5XnOpcDgn6FgrAQ9-6HimQEt1t-zerHrM26nzsBaqvuB-0xmdO

mono jexus相关

http://www.cnblogs.com/xiaodiejinghong/archive/2013/04/01/2994216.html

Linux上搭建Asp.net MVC3环境(CentOS + Nginx + Mono)

MVC3运行目标环境 Linux:CentOS6.2 Nginx:1.2 Mono:2.11.4 xsp:2.10.2.0    安装步骤: 1、下载程序源码(大家可以进入官网下...
  • educast
  • educast
  • 2012年10月08日 09:46
  • 3492

【Mono】C# + Mono + Linux 编程初体验之 HelloWorld

理解Mono,可以类比 Java虚拟机。Java虚拟机(该虚拟机最初只为Java打造所以才叫Java虚拟机,跟Java语言应该分开看)就是一个语言虚拟机,它也有自己的一套规范,只要遵循Java虚拟机规...
  • xiaohui_hubei
  • xiaohui_hubei
  • 2013年10月12日 23:07
  • 17773

Ubuntu16.04安装Mono4.2.1 C#开发环境

操作系统环境:ubuntu16.04 安装Mono4.2.1 最近在学习C#.NET,老师讲的是Visual C#.NET,但是由于我的机子的操作系统是ubuntu16.04,所以要重新捣鼓一番. ...
  • PPXFMiao
  • PPXFMiao
  • 2017年09月01日 16:13
  • 1008

使用Mono让.NET程序跨平台运行

众所周知,Unity3D引擎凭借着强大的跨平台能力而备受开发者的青睐,在跨平台应用开发渐渐成为主流的今天,具备跨平台开发能力对程序员来说就显得特别重要。传统的针对不同平台进行开发的方式常常让开发者顾此...
  • qinyuanpei
  • qinyuanpei
  • 2016年05月03日 14:49
  • 13300

【Mono】C# + Mono + Linux 编程初体验之 HelloWorld

本文转载自http://blog.csdn.net/xiaohui_hubei/article/details/12658285,如有侵权请联系删除 1. Mono  和 CLI 简介 ...
  • yuhai738639
  • yuhai738639
  • 2017年10月19日 22:28
  • 111

C# 使用Mono.SQLite进行跨平台开发

SQLite安装1. windows安装1. 进入官网下载最新的SQLite版本,找到:sqlite-tools-osx-x86-3150100.zip。[不区分64位和32位]http://www....
  • fwj380891124
  • fwj380891124
  • 2016年11月23日 17:43
  • 1854

使用Mono打造轻量级的.NET程序运行时

在使用Mono让.NET程序跨平台运行这篇文章中,我们已经对Mono以及.NET程序的运行机制有了初步的理解。今天我想来谈谈”使用Mono打造轻量级的.NET运行时”这样一个话题。为什么我会有这样一种...
  • qinyuanpei
  • qinyuanpei
  • 2016年05月03日 14:51
  • 8638

centos 安装 C#开发环境 mono

1.更新系统     yum update   2.安装必要的相关库     yum install gcc gcc-c++ bison pkgconfig glib2-devel gett...
  • gaoxuefeng
  • gaoxuefeng
  • 2012年08月25日 20:38
  • 3600

C#/mono开发Android应用程序入门(二)-第一个应用程序(Hello World)

Hello Android (本人通过自动翻译结合自己的整理和实践共同学习)  安装Mono for Android on Windows 摘要 这是第二条在An...
  • wlanye
  • wlanye
  • 2012年02月12日 19:22
  • 6628

Mono for Android——使用C#,在手机上运行

1.安装Visual Studio 2013或者2012。 2.在Xamarin上写
  • openrd
  • openrd
  • 2014年04月09日 16:58
  • 1812
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:centos+mono+nginx+jexus 搭建linux下c#运行环境测试
举报原因:
原因补充:

(最多只允许输入30个字)