负载均衡—nginx简介和安装配置
2017-01-14 09:26
447 查看
简介
能看着这个文章的,估计大家对nginx都有所了解,网上文章太多太多,我们不在扯淡了,直接说安装,后面会有多个示例来告诉大家配置相关服务,因nginx插件多,我不能一一说明。重要的是大家有个处理问题和解决问题的思路。安装
依赖
PcreOpenssl-devel
Nginx提供rpm dep包,这两种方式比较但是下面我们说明的使用源代码编译安装的方式。
准备
添加用户Shell>useradd–r nginx
Shell>groupadd nginx(可选执行)
验证
Shell >id nginx 出现如下提示,标识用户创建成功
|
Shell>mkdir/var/cache/nginx
获取安装包,我们这里使用nginx-1.8的稳定版本
Shell># wget http://nginx.org/download/nginx-1.8.0.tar.gz
Shell># wgethttps://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master
安装patch程序
Shell># yum–y install patch
解压缩nginx软件包
Shell># tarxf nginx-1.8.0.tar.gz
解压缩补丁包
Shell># unzipnginx_upstream_check_module-master.zip
打补丁
Shell># mvnginx_upstream_check_module-master patch
Shell># cdnginx-1.8.0
Shell># patch-p1 < ../patch/check_1.7.5+.patch
编译软件, 编译nginx,参数如下(按照rpm包的习惯编译,编译会因需求不同而改变。下面的仅供参考)
./configure \--prefix=/etc/nginx \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx.pid \--lock-path=/var/run/nginx.lock \--http-client-body-temp-path=/var/cache/nginx/client_temp \--http-proxy-temp-path=/var/cache/nginx/proxy_temp \--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \--http-scgi-temp-path=/var/cache/nginx/scgi_temp \--user=nginx \--group=nginx \--with-http_ssl_module \--with-http_realip_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_stub_status_module \--with-file-aio \--with-http_spdy_module --add-module=/root/patch/ |
Shell >make&& make install
创建开机自动启动脚本
RHEL6 | 命令 | Shell># vi /etc/init.d/nginx |
内容 | #!/bin/sh # # nginx Startup script for nginx # # chkconfig: - 85 15 # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # description: nginx is an HTTP and reverse proxy server # ### BEGIN INIT INFO # Provides: nginx # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop nginx ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions if [ -L $0 ]; then initscript=`/bin/readlink -f $0` else initscript=$0 fi sysconfig=`/bin/basename $initscript` if [ -f /etc/sysconfig/$sysconfig ]; then . /etc/sysconfig/$sysconfig fi nginx=${NGINX-/usr/sbin/nginx} prog=`/bin/basename $nginx` conffile=${CONFFILE-/etc/nginx/nginx.conf} lockfile=${LOCKFILE-/var/lock/subsys/nginx} pidfile=${PIDFILE-/var/run/nginx.pid} SLEEPMSEC=${SLEEPMSEC-200000} UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS-5} RETVAL=0 start() { echo -n $"Starting $prog: " daemon --pidfile=${pidfile} ${nginx} -c ${conffile} RETVAL=$? echo [ $RETVAL = 0 ] && touch ${lockfile} return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc -p ${pidfile} ${prog} RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} } reload() { echo -n $"Reloading $prog: " killproc -p ${pidfile} ${prog} -HUP RETVAL=$? echo } upgrade() { oldbinpidfile=${pidfile}.oldbin configtest -q || return echo -n $"Starting new master $prog: " killproc -p ${pidfile} ${prog} -USR2 echo for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do /bin/usleep $SLEEPMSEC if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then echo -n $"Graceful shutdown of old $prog: " killproc -p ${oldbinpidfile} ${prog} -QUIT RETVAL=$? echo return fi done echo $"Upgrade failed!" RETVAL=1 } configtest() { if [ "$#" -ne 0 ] ; then case "$1" in -q) FLAG=$1 ;; *) ;; esac shift fi ${nginx} -t -c ${conffile} $FLAG RETVAL=$? return $RETVAL } rh_status() { status -p ${pidfile} ${nginx} } # See how we were called. case "$1" in start) rh_status >/dev/null 2>&1 && exit 0 start ;; stop) stop ;; status) rh_status RETVAL=$? ;; restart) configtest -q || exit $RETVAL stop start ;; upgrade) rh_status >/dev/null 2>&1 || exit 0 upgrade ;; condrestart|try-restart) if rh_status >/dev/null 2>&1; then stop start fi ;; force-reload|reload) reload ;; configtest) configtest ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}" RETVAL=2 esac exit $RETVAL | |
RHEL7 | 命令 | Shell># vi /lib/systemd/system/nginx.service |
文本 | [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target |
RHEL6 | Shell># service nginx start |
RHEL7 | Shell># systemctl start nginx.service |
RHEL6 | Shell># chkconfig –level 3 nginx on |
RHEL7 | Shell># systemctl enable nginx |
验证
Shell># netstat –antp | grep nginxtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3818/nginx |
相关文章推荐
- Nginx源码编译安装与负载均衡配置实践
- CentOS下安装、配置Nginx,配合IIS做负载均衡
- 安装 Nginx 并配置负载均衡
- nginx+keepalived负载均衡可用框架(补一 keepalived安装配置-热备-(服务器层和应用层))
- CentOS6.5安装nginx及负载均衡配置
- Nginx安装及配置简介
- Nginx安装及配置简介
- Nginx安装及负载均衡配置
- Linux下安装与配置基于nginx的tomcat负载均衡和集群
- nginx支持负载均衡及https安装配置
- CentOS下安装、配置Nginx,配合IIS做负载均衡
- Nginx安装及配置简介
- Nginx安装及配置简介
- Nginx安装及配置简介
- 安装 Nginx 配置负载均衡
- nginx的安装和配置,域名跳转和负载均衡
- nginx在CentOS虚机环境下的安装配置,实现3台虚机负载均衡
- nginx安装及负载均衡配置
- nginx+keepalived负载均衡可用框架(补二 nginx安装配置)
- Debian/Ubuntu下Nginx的安装、反向代理和负载均衡的基本配置