CentOS6.2(Linux)搭建Nginx+Mono+Oracle部署asp.net网站

本文详细介绍了如何在CentOS 6.2系统上部署Nginx Web服务器、Mono .NET运行环境及Oracle 10g客户端的具体步骤。包括系统更新、依赖库安装、软件编译安装、配置文件调整等过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

1) 本测试系统CentOS6.232

2) 所有操作账号都是root

3) Oracle服务器是oracle 10g

4) 本测试只安装Oracle10g精简版的客户端

1、更新系统

#yum update

2、安装必要的相关库

#yum install gcc gcc-c++ bison pkgconfig glib2-devel gettextmake libpng libpng-devel libjpeg libjpeg-devel libtiff-devel libexif-devellibxml2 libxml2-devel libxml2 libxml2-devel libX11-devel freetype-develfontconfig-devel cairo-devel httpd httpd-devel giflib-devel glibc glibc-develglib2 glib2-devel autoconf freetype freetype-devel zlib zlib-devel bzip2 bzip2-devel

3、下载程序源码包

1Nginx安装包:下载地址:http://nginx.org/en/download.html

2Mono下载:官网:http://download.mono-project.com/sources/mono/(请下载最新版)

3libgdiplus下载:http://download.mono-project.com/sources/libgdiplus/(请下载最新版)

4xsp下载:http://download.mono-project.com/sources/xsp/(请下载最新版)

5xsp下载:http://download.mono-project.com/sources/xsp/(请下载最新版)

6pcre下载(Nginx所需的pcre库):FTP://ftp.csx.cam.ac.uk/pub/software/programming/pcre/(请下最新版)

7Oracle10.2 instant clienthttp://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

下载:oracle-instantclient-basic-10.2.0.5-1.i386.rpmoracle-instantclient-devel-10.2.0.5-1.i386.rpmoracle-instantclient-jdbc-10.2.0.5-1.i386.rpmoracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm

8)将下载的文件放到centos系统“/usr/local/src/”目录下

如上第1~6个安装文件可以通过如下命令下载

#cd /usr/local/src/

#wgethttp://nginx.org/download/nginx-1.1.11.tar.gz

#wgethttp://download.mono-project.com/sources/mono/mono-2.11.4.tar.bz2

#wgethttp://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2

#wgethttp://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2

#wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz

Oracle 11.2 instant client需要注册单独下载

4、安装编译Nginx

1) 安装安装Nginx所需的pcre

#cd /usr/local/src/

#tar zxvf pcre-8.31.tar.gz
#cd pcre-8.31/
#./configure
#make && make install

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

#cd /usr/local/src/

#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

4) 开放80端口

#iptables -I INPUT -p tcp --dport 80 -j ACCEPT

5) 启动nginx

#cd #

#/opt/nginx/sbin/nginx

//启动时可能报文件缺失错误

/opt/nginx/sbin/nginx: error while loading shared libraries:libpcre.so.1: cannot open shared object file: No such file or directory

#ldd $(which /opt/nginx/sbin/nginx)

linux-gate.so.1 =>(0x00212000)

libpthread.so.0 =>/lib/libpthread.so.0 (0x0018b000)

libcrypt.so.1 =>/lib/libcrypt.so.1 (0x0275f000)

libpcre.so.1 => not found

libssl.so.10 =>/usr/lib/libssl.so.10 (0x028c1000)

libcrypto.so.10 =>/usr/lib/libcrypto.so.10 (0x025d0000)

libdl.so.2 =>/lib/libdl.so.2 (0x001a8000)

libz.so.1 =>/lib/libz.so.1 (0x001db000)

libc.so.6 =>/lib/libc.so.6 (0x00246000)

/lib/ld-linux.so.2(0x00169000)

libfreebl3.so =>/lib/libfreebl3.so (0x00101000)

libgssapi_krb5.so.2 =>/lib/libgssapi_krb5.so.2 (0x02880000)

libkrb5.so.3 =>/lib/libkrb5.so.3 (0x024f8000)

libcom_err.so.2 =>/lib/libcom_err.so.2 (0x00a95000)

libk5crypto.so.3 =>/lib/libk5crypto.so.3 (0x00d9b000)

libresolv.so.2 =>/lib/libresolv.so.2 (0x0021d000)

libkrb5support.so.0 =>/lib/libkrb5support.so.0 (0x00d52000)

libkeyutils.so.1 => /lib/libkeyutils.so.1(0x00dc9000)

libselinux.so.1 =>/lib/libselinux.so.1 (0x001ad000)

#cd /lib

#ln libpcre.so.0.0.1 libpcre.so.1

#/opt/nginx/sbin/nginx

#ps -ef |grep nginx

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

5、安装编译Mono

1) 安装libgdiplus

#cd /usr/local/src/

#tar -jxvf libgdiplus-2.10.tar.bz2
#cd libgdiplus-2.10
#./configure --prefix=/opt/mono
#make && make install
#echo "/opt/mono/lib" > /etc/ld.so.conf.d/mono.conf
#ldconfig

2) 安装Mono

#cd /usr/local/src/

#tar -jxvf mono-2.11.4.tar.bz2
#cd mono-2.11.4
#./configure --prefix=/opt/mono
#make && make install   
//此处时间较长

#echo exportPKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
#echo export LD_LIBRARY_PATH=/opt/mono/lib:$LD_LIBRARY_PATH>>~/.bash_profile
#echo export PATH=/opt/mono/bin:$PATH>>~/.bash_profile
#source ~/.bash_profile

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

4) 安装XSP

#cd /usr/local/src/

#tar -jxvf xsp-2.10.2.tar.bz2

#cd xsp-2.10.2
#./configure --prefix=/opt/mono
#make && make install

6、配置Nginx

#vi /opt/nginx/conf/nginx.conf
server {

listen 80;

server_namelocalhost;

location / {

root /data0/web;

index index.htmlindex.htm;

fastcgi_indexDefault.aspx;

fastcgi_pass127.0.0.1:9000;

include fastcgi_params;

}

}

7、配置fastcgi_params

#vi /opt/nginx/conf/fastcgi_params//增加下面两行

fastcgi_param PATH_INFO "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

8、安装oracle客户端(Oracle 10.2.0.5 instant client

1) 安装程序包

#cd /usr/local/src/

#rpm -ivh oracle-instantclient-basic-10.2.0.5-1.i386.rpm

#rpm -ivh oracle-instantclient-devel-10.2.0.5-1.i386.rpm

#rpm -ivh oracle-instantclient-jdbc-10.2.0.5-1.i386.rpm

#rpm -ivh oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm

#vi ~/.bashrc  //增加下面内容

LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/oracle/10.2.0.5/client/lib     //对于64位版本可能是client64

2) 测试

#sqlplus /nolog

系统报错

sqlplus:error while loading shared libraries: libsqlplus.so: cannot open shared objectfile: No such file or directory

3) 修改系统配置(这个得用root用户)

#vi /etc/ld.so.conf  //加入下面一行

/usr/lib/oracle/10.2.0.5/client/lib/
#/sbin/ldconfig

4) 重新运行

# sqlplus /nolog
SQL*Plus: Release 10.2.0.5.0 Production on Fri Sep 14 01:46:032012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL>quit;
成功了

5) 配置TNS连接远程的Oracle(想要连接远程的Oracle数据库得建立TNS

#mkdir -p /usr/lib/oracle/10.2.0.5/network/admin

1)在上面的目录下新建一个tnsnames.ora文件,文件内容如下

#tnsnames.ora Network Configuration File:/usr/lib/oracle/10.2.0.5/network/admin/tnsnames.ora

#Generated by Oracle configuration tools.

orcl=

  (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT= 1521))

   )

   (CONNECT_DATA =

     (SERVICE_NAME = orcl)

   )

  )

说明:第一个orcl是本地连接用的标记,第二个orcl是远程服务器的服务名

2)在上面的目录下新建一个sqlnet.ora文件,文件内容如下

#sqlnet.ora Network Configuration File:/usr/lib/oracle/10.2.0.5/network/admin/sqlnet.ora

#Generated by Oracle configuration tools.

#This file is actually generated by netca. But if customers choose to

#install "Software Only", this file wont exist and without the native

#authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES=(NTS)

NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT)

6) 修改环境变量

#vi ~/.bashrc

//增加下面两行
export ORACLE_HOME=/usr/lib/oracle/10.2.0.5
export TNS_ADMIN=/usr/lib/oracle/10.2.0.5/network/admin
//重启一下环境变量,或者用户logout/login一次
#source ~/.bashrc

7) 再测试

#sqlplus myOracleUsername/password@PRODB2

SQL*Plus:Release 10.2.0.5.0 Production on Fri Sep 14 02:16:00 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connectedto:

OracleDatabase 10g Enterprise Edition Release 10.2.0.1.0 - Production

Withthe Partitioning, OLAP and Data Mining options

SQL>

成功。

说明:

1、 如果其他用户需要使用sqlplus,需要在该用户的~/.bashrc文件中添加上面提到的3行环境变量。

2、 Sqlplus查询结果中文可能出现乱码解决

#vi ~/.bash_profile

export NLS_LANG=AMERICAN_AMERICA.UTF8

#source ~/.bash_profile

根据创建数据库时选择的字符集修改NLS_LANG变量

如果是UTF-8exportNLS_LANG=AMERICAN_AMERICA.UTF8

如果是 GBK exportNLS_LANG=american_america.ZHS16GBK

注销后生效

这样再重新进入sqlplus

已经不会是乱码

参考:http://www.wzzjla.com/Html/201208/436.html

9、启动网站

1) 重启nginx

#/opt/nginx/sbin/nginx -s reload

2) 启动 fastcgi_mono服务器

#fastcgi-mono-server2 /applications=/:/data0/web/socket=tcp:127.0.0.1:9000 &

10、            测试

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

11、            参数资料

http://down.chinaz.com/server/201112/1493_1.htm

http://www.cnblogs.com/aquilahkj/archive/2011/11/03/2234380.html

http://blog.sina.com.cn/s/blog_5fd26d460100vyuk.html

http://linuxer2012.blog.51cto.com/3345733/801556

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值