在CentOS下安装Nginx服务及集群PHP、Tomcat

在CentOS下安装Ngix服务及集群PHP、Tomcat

资源下载地址:http://download.youkuaiyun.com/detail/attagain/7570597

一、 Ngix依赖模块安装

Ngix依赖模块有:pcre、zlib、openssl、md5 /sha1(如果系统中没有安装相应模块,需要按照下列方式安装)

1、 安装pcre模块(8.35)

官方网站:http://www.pcre.org/

安装命令:

# unzip pcre-8.35.zip

# cd pcre-8.35

# ./configure

# make && make install

     在64位linux系统中,nginx搜索的库位置为lib64;所以,需要建立软连接:

# ln -s /usr/local/lib/libpcre.so.1 /lib64/

# ln -s /usr/local/lib/libpcre.so.1 /lib/

# ln -s /usr/local/lib/libpcre.so.1 /usr/local/lib64/

2、 安装zlib模块(1.2.8)

官方网站:http://www.zlib.net/

安装命令:

# tar zxvf zlib-1.2.8.tar.gz

# cd zlib-1.2.8

# ./configure

# make && make install

3、 安装openssl模块(1.0.1h)

官方网站:http://www.openssl.org/

安装命令:

# tar zxvf openssl-1.0.1h.tar.gz

# cd openssl-1.0.1h

# ./config

# make && install

二、 Nginx安装

1、 安装Nginx(1.6.0)

官方网站:http://nginx.org/

安装命令:

# tar zxvf nginx-1.6.0.tar.gz

# cd nginx-1.6.0

# ./configure --prefix=/usr/local/nginx /

            --with-openssl=/usr/local/openssl /

            --with-http_stub_status_module

# make && make install

安装完成后的Nginx的目录结构:

[root@AP nginx-1.6.0]# ll /usr/local/nginx/

total 16

drwxr-xr-x 2 root root 4096 Jun 24 14:42 conf

drwxr-xr-x 2 root root 4096 Jun 24 14:42 html

drwxr-xr-x 2 root root 4096 Jun 24 14:42 logs

drwxr-xr-x 2 root root 4096 Jun 24 14:42 sbin

2、  修改配置文件中的监听端口,确保不被其他程序占用

修改配置文件:/usr/local/nginx/conf/nginx.conf

修改端口:80-

2.1、设置Linux防火墙,打开端口9090

执行命令:

# /sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT

保存设置命令:

# /etc/rc.d/init.d/iptables save

查看端口打开情况命令:

#/etc/init.d/iptables status

重启防火墙服务

# /etc/rc.d/init.d/iptables restart

3、 启动、停止Nginx

A、 启动命令

#/usr/local/nginx/sbin/nginx

B、 停止命令

  # /usr/local/nginx/sbin/nginx -s stop

C、 检查配置文件

  # /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

D、 查看nginx版本及完整版本

# /usr/local/nginx/sbin/nginx –V

nginx version: nginx/1.6.0

# /usr/local/nginx/sbin/nginx –V

nginx version: nginx/1.6.0

built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)

configure arguments: --prefix=/usr/local/nginx --with-openssl=/usr/local/openssl --with-http_stub_status_module

E、 查看帮助

# /usr/local/nginx/sbin/nginx –h

nginx version: nginx/1.6.0

Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:

  -?,-h         : this help

  -v            : show version and exit

  -V            : show version and configure options then exit

  -t            : test configuration and exit

  -q            : suppress non-error messages during configuration testing

  -s signal     : send signal to a master process: stop, quit, reopen, reload

  -p prefix     : set prefix path (default: /usr/local/nginx/)

  -c filename   : set configuration file (default: conf/nginx.conf)

  -g directives : set global directives out of configuration file

4、 Nginx默认页面显示

三、 Nginx反向代理Tomcat服务Nginx和Tomcat的整合非常的简单,只需要修改nginx.conf配置文件,添加如下信息:

location /TspWebManager/ {

            index index.html;

            proxy_passhttp://192.168.30.202:8001/TspWebManager/;

        }

location /CNP_MServiceProcess/ {

            index index.html;

            proxy_passhttp://192.168.30.202:8001/CNP_MServiceProcess/;

        }

说明:

1、 URL正则表达式

/TspWebManager/、/CNP_MServiceProcess/,当请求Nginx服务器的URL地址,和正则表达式匹配,则按照当前location中的规则进行反向代理。

2、 Index

默认页面

3、 proxy_pass

反向代理地址:这里是指向另外tomcat服务URL

 URL的定义,需要有一定的规则,方便Nginx的正则表达式定义、解析。本例中的2个location定义,实现的是Nginx反向代理另外一台服务器上的两种不同类型的业务服务。

四、 安装PHP及Oracle客户端驱动扩展

1、 安装oracle客户端

A、 Oracle客户端安装

官网:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

下载如下包:

 oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm

oracle-instantclient-devel-10.2.0.5-1.x86_64.rpm

安装客户端:

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

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

B、 建立软连接,使得pdo_oci能够识别64位客户端

#ln -s /usr/include/oracle/10.2.0.5/client64/ /usr/include/oracle/10.2.0.5/client

# ln -s /usr/lib/oracle/10.2.0.5/client64/ /usr/lib/oracle/10.2.0.5/client

# ln -s /usr/include/oracle/10.2.0.5/ /usr/include/oracle/10.2.0.3

# ln -s /usr/lib/oracle/10.2.0.5/ /usr/lib/oracle/10.2.0.3

C、  配置oracle客户端库

#echo "/usr/lib/oracle/10.2.0.5/client/lib/"

# /sbin/ldconfig

D、  设置客户端环境参数

# vi /etc/profile

配置文件尾部,添加如下配置信息:

export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client

export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.5/client:$LD_LIBRARY_PATH

export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

执行命令,更新配置

# source /etc/profile

2、 安装re2c-0.13.6.tar.gz

官网地址:http://www.re2c.org/

# tar zxvf re2c-0.13.6.tar.gz

# cd re2c-0.13.6

# ./configure

# make && make install

3、 安装PHP服务

A、 安装PHP依赖包

 libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel  需要自行安装。

B、 安装mcrypt工具

官网地址:http://sourceforge.net/projects/mcrypt/

    http://sourceforge.net/projects/mhash/

下载下列3个包:

libmcrypt-2.5.8.tar.gz

mhash-0.9.9.9.tar.gz

mcrypt-2.6.8.tar.gz

安装命令:

安装libmcrypt

#tar -zxvf libmcrypt-2.5.8.tar.gz

#cd libmcrypt-2.5.8

#./configure

#make && make install

安装mhash

#tar -zxvf mhash-0.9.9.9.tar.gz

#cd mhash-0.9.9.9

#./configure

#make && make install

安装mcrypt

#tar -zxvf mcrypt-2.6.8.tar.gz

#cd mcrypt-2.6.8

#LD_LIBRARY_PATH=/usr/local/lib ./configure

#make && make install

C、 安装libiconv(非必选项)

官网地址:http://www.gnu.org/software/libiconv/

# tar zxvf libiconv-1.14.tar.gz

# cd libiconv-1.14

# ./configure --prefix=/usr/local

# make && make install

D、 安装PHP服务

官网地址:http://php.net/

# tar zxvf php-5.5.13.tar.gz

# cd php-5.5.13

#./configure --prefix=/usr/local/php /

            --with-libdir=lib64 /

            --with-config-file-path=/usr/local/php/etc /

            --with-iconv-dir=/usr/local /

            --with-jpeg-dir=/usr/local/jpeg /

            --with-png-dir=/usr/local/libpng /

            --with-freetype-dir=/usr/local/freetype /

            --with-pcre-regex /

            --with-zlib /

            --with-bz2 /

            --with-curl /

            --with-curlwrappers /

            --with-libxml-dir /

            --with-gd /

            --with-zlib-dir /

            --with-ttf /

            --with-snmp /

            --enable-calendar /

            --enable-dba /

            --enable-ftp /

            --enable-gd-native-ttf /

            --enable-mbstring /

            --enable-pcntl /

            --enable-xml /

            --enable-sockets /

            --enable-zip /

            --enable-bcmath /

            --enable-fpm /

            --enable-fastcgi /

            --enable-force-cgi-redirect /

            --enable-safe-mode /

            --enable-discard-path /

            --disable-gd-jis-conv /

            --disable-sqlite /

            --disable-debug

其中,--enable-fpm为php和Nginx整合所必须的组件

# make

#make install

注:前期编译PHP时不要安装过多扩展选项,免得日后升级麻烦。如果make出错,使用命令make  ZEND_EXTRA_LIBS='-liconv'进行编译。如果出现某些库无法找到错误,实际库文件已经存在,不是系统搜索路径/lib,/usr/lib时,可以通过下列方式实现:

# vi /etc/ld.so.conf

在尾部添加要搜索库路径,如:/usr/local/lib

更新库加载信息:

# ldconfig

4、 安装pdo扩展

    如果php编译中有—disable-pdo选项,本步骤需要编译,同时在php.ini配置文件中,需要添加上extension=pdo_oci.so信息;相反,本步骤无需进行。

# cd /home/lhj/php/php-5.5.13/ext/pdo

# /usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config /

            --enable-pdo=shared

# make && make install

5、 安装oci8扩展

官网地址:http://pecl.php.net/package/oci8

# tar zxvf oci8-2.0.8.tgz

# cd oci8-2.0.8

# /usr/local/php/bin/phpize

# ./configure --with-php-config=/usr/local/php/bin/php-config /

            --with-oci8=instantclient,/usr/lib/oracle/10.2.0.3/client64/lib

# make && make install

6、 安装pdo_oci扩展

官网地址:http://pecl.php.net/package/PDO_OCI

# tar zxvf PDO_OCI-1.0.tgz

# cd PDO_OCI-1.0

# /usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config /

            --with-pdo-oci=instantclient,/usr,10.2.0.3

# make && make install

7、 配置扩展

A、 修改php.ini配置文件

添加如下内容:

extension_dir = "/usr/local/php/lib/php/extensions/"

; extension=pdo.so

extension=pdo_oci.so

extension=oci8.so

 修改文件上传最大上限为100M

upload_max_filesize = 100M

B、 创建并修改php-fpm.conf配置文件

# cp php-fpm.conf.default php-fpm.conf

 打开epoll、log等开关,在env[HOSTNAME] = $HOSTNAME添加如下环境信息:

env[ORACLE_HOME] = $ORACLE_HOME

env[NLS_LANG] = $NLS_LANG

8、 启动php

启动

#/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

关闭

#kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

重启

#kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

测试配置文件

#/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t

五、 配置本地Nginx服务、整合php-fpm

按照前边Nginx安装的步骤,完成本地Nginx的部署。在nginx.conf配置文件中,添加如下信息:

        listen       9005;

location ~ /.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;

            include        fastcgi_params;

        }

借助于php-fpm扩展,通过fastcgi_pass协议,代理php服务,实现php的完整发布。Nginx取代Apache实现普通的Web代理服务。

六、 Nginx反向代理PHP服务

PHP服务的反向代理,和Tomcat的反向代理类似,在前文安装负载均衡Nginx服务器配置文件中,添加如下信息:

location ~ /.php$ {

      proxy_pass  http://192.168.30.202:9005;

}

 实现PHP负载均衡的处理,仅在正则表达式进行php类型请求识别,剩下的工作反向代理给具体PHP业务服务器处理。

总结,Nginx既可以替代apache,提供本地Web代理服务,性能远优于apache;也可以独立部署,实现多种服务的反向代理及负载均衡处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值