nginx编译安装 =========================================== Nginx官网:http://nginx.org/ Nginx官网下载地址(选择 Stable version 稳定版):http://nginx.org/en/download.html 官网安装介绍:http://nginx.org/en/linux_packages.html 一:安装 1.1:环境准备 ~]# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.2:编译安装 ~]# tar -axf nginx-1.10.0.tar.gz ~]# cd nginx-1.10.0/ ~]# useradd -r nginx ~]# ./configure --prefix=/usr/local/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_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-file-aio --with-http_v2_module --with-ipv6 ~]# make && make install 1.3:加入环境变量 ~]# vi /etc/profile.d/nginx.sh export PATH=$PATH:/usr/local/nginx/sbin/ ~]# source /etc/profile.d/nginx.sh 1.4:启动与重启停止 启动:nginx 重载:nginx -s reload 快速停止:nginx -s stop 有序退出:nginx -s quit 1.5:加入系统服务与开机启动 CentOS 6 ~]# vi /etc/rc.d/init.d/nginx ~]# chmod +x /etc/rc.d/init.d/nginx --------------------------file start--------------------------------- #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse # proxy and IMAP/POP3 proxy server # processname: nginx # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) sysconfig="/etc/sysconfig/$prog" lockfile="/var/run/nginx.lock" pidfile="/var/run/${prog}.pid" NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f $sysconfig ] && . $sysconfig start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc -p $pidfile $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest_q || return 6 stop start } reload() { configtest_q || return 6 echo -n $"Reloading $prog: " killproc -p $pidfile $prog -HUP echo } configtest() { $nginx -t -c $NGINX_CONF_FILE } configtest_q() { $nginx -t -q -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } # Upgrade the binary with no downtime. upgrade() { local oldbin_pidfile="${pidfile}.oldbin" configtest_q || return 6 echo -n $"Upgrading $prog: " killproc -p $pidfile $prog -USR2 retval=$? sleep 1 if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then killproc -p $oldbin_pidfile $prog -QUIT success $"$prog online upgrade" echo return 0 else failure $"$prog online upgrade" echo return 1 fi } # Tell nginx to reopen logs reopen_logs() { configtest_q || return 6 echo -n $"Reopening $prog logs: " killproc -p $pidfile $prog -USR1 retval=$? echo return $retval } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest|reopen_logs) $1 ;; force-reload|upgrade) rh_status_q || exit 7 upgrade ;; reload) rh_status_q || exit 7 $1 ;; status|status_q) rh_$1 ;; condrestart|try-restart) rh_status_q || exit 7 restart ;; *) echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}" exit 2 esac --------------------------file end--------------------------------- 开机启动 ~]# chkconfig --add nginx ~]# chkconfig --level 345 nginx on ~]# chkconfig --list nginx nginx 0:off 1:off 2:off 3:on 4:on 5:on 6:off 开机不启动 ~]# chkconfig nginx off ~]# chkconfig --list nginx nginx 0:off 1:off 2:off 3:off 4:off 5:off 6:off CentOS 7: ~]# vi /usr/lib/systemd/system/nginx.service --------------------------file start--------------------------------- [Unit] Description=nginx After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target --------------------------file end--------------------------------- 开机启动 ~]# systemctl enable nginx.service 开机不启动 ~]# systemctl disable nginx.service 其他操作: ~]# systemcl ( status | start | stop | reload | restart ) nginx.service 其他操作: ~]# service nginx (start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs)