前言:
1) 本测试系统CentOS6.2是32位
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、下载程序源码包
1)Nginx安装包:下载地址:http://nginx.org/en/download.html
2)Mono下载:官网:http://download.mono-project.com/sources/mono/(请下载最新版)
3)libgdiplus下载:http://download.mono-project.com/sources/libgdiplus/(请下载最新版)
4)xsp下载:http://download.mono-project.com/sources/xsp/(请下载最新版)
5)xsp下载:http://download.mono-project.com/sources/xsp/(请下载最新版)
6)pcre下载(Nginx所需的pcre库):FTP://ftp.csx.cam.ac.uk/pub/software/programming/pcre/(请下最新版)
7)Oracle10.2 instant client:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载:oracle-instantclient-basic-10.2.0.5-1.i386.rpm、oracle-instantclient-devel-10.2.0.5-1.i386.rpm、oracle-instantclient-jdbc-10.2.0.5-1.i386.rpm、oracle-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-8:exportNLS_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