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 update2、安装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-devel3、安装Mono需要的GDI+兼容API的库Libgdiplus
git clone git://github.com/mono/libgdiplus.gitcd 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.htmlmkdir -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、安装libgdipluscd /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教程有兴趣的朋友有所帮助。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能