欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-06 11:57:33
...
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_C/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 /applicati/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

以上就介绍了centos+mono+nginx+jexus 搭建linux下c#运行环境测试,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。