第二章:高性能Web宏观架构之代理服务器Nginx安装部署
2016-01-17 21:54
671 查看
第一步:安装yum源,这里就不多说了,自行解决吧,啧啧。。。
第二步:安装Nginx
背景如下:
1、假设,所有的安装包默认被拷贝到 /tmp/ 目录下。
2、Nginx连接数和CPU核数相关,可在配置文件中配置。所以CPU核数选择请参考实际情况。至少2台(虚拟)主机,每台(虚拟)主机1个静态IP地址。
3、由于反向代理为主备双活关系,所以需要2+台服务器均做如下相同配置。
4、离线安装包及配置文件地址:
步骤如下:
1、安装gcc、gcc++、OpenSSL、make、patch
2、安装pcre(文件请见上方链接,文件名:pcre-8.34.tar.gz)
3、安装zlib(文件请见上方链接,文件名:zlib-1.2.8.tar.gz)
4、解压Nginx1.4.6(文件请见上方链接,文件名:nginx-1.4.6.tar.gz)
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)
6、安装nginx
至此就安装完成了Nginx,下面开始配置
配置步骤如下:
1、配置start, stop, reload, restart脚本
1.1、将下面脚本拷贝到/etc/init.d/目录下(文件请见上方链接,文件名:nginx脚本/nginx),如不下载,可在/etc/init.d/目录下创建nginx文件,复制如下内容也可:
1.2、赋予可执行权限
2、配置libpcre.so.1
2.1、如果执行
那么,请用find命令找到libpcre.so.0.0.1,并且在libpcre.so.0.0.1所在的lib目录下执行:
2.2、配置开机启动
1.1中将脚本放入 /etc/init.d/ 目录后,执行:
2.3、配置Nginx配置文件(文件请见上方链接,文件名:nginx.conf),当然只是一个参考,具体的内容可根据实际情况进行查询配置。
配置文件要点:
2.4、配置防火墙
如果为测试环境可以直接关闭防火墙,如果为正式环境请做端口开放(如果要配置,请参考Nginx的配置文件打开相对应的端口):
2.5、启动Nginx
至此,Nginx的配置就搞完了,下一章我们搞一搞Keepalived的安装部署。
第二步:安装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、启动Nginx
service nginx start或重启服务器(Nginx已经做了开机自启)。
至此,Nginx的配置就搞完了,下一章我们搞一搞Keepalived的安装部署。
相关文章推荐
- nginx中常见的变量
- nginx同时监听本机ipv4/ipv6端口
- nginx性能优化
- CentOS 6.7平台nginx压力测试(ab/webbench)
- CentOS隐藏nginx版本号
- nginx 中location和root,你确定真的明白他们关系?
- 中文分词 mmseg nginx 模块开发
- oneinstack一键包Nginx php多版本共存配置全过程
- oneinstack一键包Nginx php多版本共存配置全过程
- Centos上Apache重启,mysql重启, nginx 重启方法
- nginx错误日志出现worker process 24939 exited on signal 11 (core dumped)
- Jemalloc优化MySQL和Nginx
- nginx +phpfastcgi 环境下 导出excel文件,超时,数据被截断问题,解决
- nginx机制-从源码分析(1)
- Nginx 启动出错 error while loading shared libraries: libpcre.so.1
- redhat Nginx 安装
- nginx启动,重启,关闭命令
- windows下nginx安装、配置与使用
- Nginx配置文件详细说明
- Ubuntu 14.04 nginx 502 bad getaway 处理及优化