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

资源下载地址:http://download.csdn.net/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的目录结构:

[[email protected] 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->9090

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_pass http://192.168.30.202:8001/TspWebManager/;

}

location /CNP_MServiceProcess/ {

index index.html;

proxy_pass http://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/" >/etc/ld.so.conf.d/oracle_client.conf

# /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;也可以独立部署,实现多种服务的反向代理及负载均衡处理。

在CentOS下安装Ngix服务及集群PHP、Tomcat,布布扣,bubuko.com

时间: 2024-10-25 16:20:58

在CentOS下安装Ngix服务及集群PHP、Tomcat的相关文章

CentOS下Storm 1.0.0集群安装具体解释

本文环境例如以下: 操作系统:CentOS 6 32位 ZooKeeper版本号:3.4.8 Storm版本号:1.0.0 JDK版本号:1.8.0_77 32位 python版本号:2.6.6 集群情况:一个主控节点(Master)和两个工作节点(Slave1,Slave2) 1. 搭建Zookeeper集群 安装參考:CentOS下ZooKeeper单机模式.集群模式安装 2. 在Nimbus和worker机器上安装依赖包 Java 6 Python 2.6.6 以上的版本号是官方说已经有測

CentOS下Storm 1.0.0集群安装详解

本文环境如下: 操作系统:CentOS 6 32位 ZooKeeper版本:3.4.8 Storm版本:1.0.0 JDK版本:1.8.0_77 32位 python版本:2.6.6 集群情况:一个主控节点(Master)和两个工作节点(Slave1,Slave2) 1. 搭建Zookeeper集群 安装参考:CentOS下ZooKeeper单机模式.集群模式安装 2. 在Nimbus和worker机器上安装依赖包 Java 6 Python 2.6.6 以上的版本是官方说已经有测试可以和Str

Centos6下安装伪分布式Hadoop集群

Centos6下安装伪分布式hadoop集群,选取的hadoop版本是apache下的hadoop2.7.1,在一台linux服务器上安装hadoop后,同时拥有namenode,datanode和secondarynamenode等节点的功能,下面简单安装下. 前置准备 主要涉及防火墙关闭.jdk安装.主机名修改.ip映射.免密登录设置等. 关闭防火墙 有临时和永久,这里使用永久关闭的方式. # 临时关闭 [[email protected] ~]# service iptables stop

CentOS 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

转载自:https://linux.cn/article-4314-1.html 编译自:http://xmodulo.com/install-lemp-stack-centos.html 作者: Dan Nanni 原创:LCTT https://linux.cn/article-4314-1.html 译者: runningwater 本文地址:https://linux.cn/article-4314-1.html LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心

CentOS下ZooKeeper单机模式、集群模式安装

本文环境如下: 操作系统:CentOS 6 32位 ZooKeeper版本:3.4.8 0. 环境需求 Zookeeper需要JDK1.6以上版本的Java环境 可以参考: CentOS 6使用rpm方式安装JDK8 1. 下载软件包 到ZooKeeper官网上http://zookeeper.apache.org/下载软件包,例如: wget "http://apache.opencas.org/zookeeper/stable/zookeeper-3.4.8.tar.gz" tar

[转载]CentOS 下安装LEMP服务(Nginx、MariaDB/MySQL和PHP)

LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 PHP 组成的.在传统的 LAMP 包中使用的 Apache HTTP 协议服务器性能低下而且难于大规模集群,相比来说 nginx 的高性能及轻量级等特性,正是其的替代方案. MariaDB 是一款社区支持驱动的 MySQL 数据库的分支,其功能更多性能更佳.PHP,服务端编程语言,具体是由 PHP

CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)

http://blog.csdn.net/prettyshuang/article/details/50501904 首先说一下,无论是CentOS/RedHat还是Ubuntu都可以按源码方式.安装包方式编译安装. 1.   规划 192.168.4.93(h93)       1个主master  2个主segment.2个镜像segment 192.168.4.94(h94)       1个备master  2个主segment.2个镜像segment 都安装在/home/wslu/gp

CentOS 下安装 SNMP 服务

Untitled Document.md thead>tr>th{padding:8px;line-height:1.4285714;border-top:1px solid #ddd}.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line

Centos下安装SSH服务

昨天在服务器上弄东西.结果把ssh服务给卸载了. 没想到远程不了了. 接下来介绍如何安装ssh服务. 其实机器是自带ssh服务的. #rpm -qa |grep ssh 检查是否装了SSH包 没有的话yum install openssh-server #chkconfig --list sshd 检查SSHD是否在本运行级别下设置为开机启动 #chkconfig --level 2345 sshd on  如果没设置启动就设置下. #service sshd restart  重新启动 #ne