:高性能Web宏观架构之代理服务器Nginx安装部署
Posted S1ow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:高性能Web宏观架构之代理服务器Nginx安装部署相关的知识,希望对你有一定的参考价值。
第一步:安装yum源,这里就不多说了,自行解决吧,啧啧。。。
第二步:安装nginx
背景如下:
1、假设,所有的安装包默认被拷贝到 /tmp/ 目录下。
2、Nginx连接数和CPU核数相关,可在配置文件中配置。所以CPU核数选择请参考实际情况。至少2台(虚拟)主机,每台(虚拟)主机1个静态IP地址。
3、由于反向代理为主备双活关系,所以需要2+台服务器均做如下相同配置。
4、离线安装包及配置文件地址:http://pan.baidu.com/s/1bovyvld 密码:weld
步骤如下:
1、安装gcc、gcc++、OpenSSL、make、patch
yum install -y gcc gcc-c++ openssl openssl-devel make patch
2、安装pcre(文件请见上方链接,文件名:pcre-8.34.tar.gz)
cd /tmp
tar -zxvf pcre-8.34.tar.gz -C /usr/src/
#等待解压完毕…
cd /usr/src/pcre-8.34/
./configure
#等待配置完毕…
make && make install
3、安装zlib(文件请见上方链接,文件名:zlib-1.2.8.tar.gz)
cd /tmp
tar -zxvf zlib-1.2.8.tar.gz -C /usr/src/
#等待解压完毕…
cd /usr/src/zlib-1.2.8/
./configure
#等待配置完毕…
make && make install
4、解压Nginx1.4.6(文件请见上方链接,文件名:nginx-1.4.6.tar.gz)
cd /tmp
tar -zxvf nginx-1.4.6.tar.gz -C /usr/src/
5、加载Nginx upstream check模块(文件请见上方链接,文件名:nginx_tcp_proxy_module-master.tar.gz 、nginx_upstream_check_module-master.tar.gz 、nginx-sticky-module-1.1.tar.gz)
cd /tmp
tar -zxvf nginx_upstream_check_module-master.tar.gz
tar –zxvf nginx_tcp_proxy_module-master.tar.gz
cd /usr/src/nginx-1.4.6/
patch -p1 < /tmp/nginx_upstream_check_module-master/check_1.2.6+.patch
patch -p1 < /tmp/nginx_tcp_proxy_module-master/tcp.patch
6、安装nginx
cd /usr/src/nginx-1.4.6/
./configure --add-module=/tmp/nginx_upstream_check_module-master --add-module=/tmp/nginx_tcp_proxy_module-master --add-module=/tmp/nginx-sticky-module-1.1
#等待配置完毕…
make && make install
至此就安装完成了Nginx,下面开始配置
配置步骤如下:
1、配置start, stop, reload, restart脚本
1.1、将下面脚本拷贝到/etc/init.d/目录下(文件请见上方链接,文件名:nginx脚本/nginx),如不下载,可在/etc/init.d/目录下创建nginx文件,复制如下内容也可:
#! /bin/sh
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start()
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
do_stop()
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
do_reload()
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME start|stop|reload|restart" >&2
exit 3
;;
esac
exit 0
1.2、赋予可执行权限
chmod +x /etc/init.d/nginx
2、配置libpcre.so.1
2.1、如果执行ldd $(which /usr/local/nginx/sbin/nginx)
结果为:
linux-vdso.so.1 => (0x00007fff185ff000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff2f3536000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ff2f32ff000)
libpcre.so.1 => not found
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007ff2f2f64000)
libz.so.1 => /lib64/libz.so.1 (0x00007ff2f2d4e000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff2f29bb000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff2f3758000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007ff2f2759000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff2f2555000)
那么,请用find命令找到libpcre.so.0.0.1,并且在libpcre.so.0.0.1所在的lib目录下执行:
ln -s libpcre.so.0.0.1 libpcre.so.1
2.2、配置开机启动
1.1中将脚本放入 /etc/init.d/ 目录后,执行:chkconfig --add nginx
chkconfig nginx on
2.3、配置Nginx配置文件(文件请见上方链接,文件名:nginx.conf),当然只是一个参考,具体的内容可根据实际情况进行查询配置。
配置文件要点:
1.worker_processes 4; #(虚拟)主机的CPU核数
2.worker_connections 1024; #nginx支持的总连接数就等于worker_processes * worker_connections
3.负载均衡配置方法
upstream cssServer
server ip1:8080 weight=2;
server ip2:8080 weight=1;
server ip3:8080 backup; #ip_hash方式与backup关键字不可以一起使用
server
listen 8080;
server_name ip地址;
location /
proxy_pass http://server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
2.4、配置防火墙
如果为测试环境可以直接关闭防火墙,如果为正式环境请做端口开放(如果要配置,请参考Nginx的配置文件打开相对应的端口):
service iptables stop
chkconfig iptables off
2.5、启动Nginxservice nginx start
或重启服务器(Nginx已经做了开机自启)。
至此,Nginx的配置就搞完了,下一章我们搞一搞Keepalived的安装部署。
以上是关于:高性能Web宏观架构之代理服务器Nginx安装部署的主要内容,如果未能解决你的问题,请参考以下文章