nginx下载路径
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gccyum install gcc-c++ PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。yum install -y pcre pcre-devel zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库yum install -y zlib zlib-devel OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。yum install -y openssl openssl-devel启动
cd /usr/local/nginx/sbin/ ./nginx停止
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
cd /usr/local/nginx/sbin ./nginx -s stop此方式停止步骤是待nginx进程处理任务完毕进行停止。
cd /usr/local/nginx/sbin ./nginx -s quit重启
方式1,先停止再启动(建议使用):
./nginx -s quit ./nginx方式2,重新加载配置文件:
./nginx -s reload在系统服务目录里创建nginx.service文件
vi /usr/lib/systemd/system/nginx.service写入内容如下:
[Unit] Description=nginx After=network.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 quit PrivateTmp=true [Install] WantedBy=multi-user.targetDescription:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
3.设置开机自启动
/usr/lib/systemd/system systemctl enable nginx.service4、查看nginx状态
systemctl status nginx.service很奇怪,明明启动成功了,为什么显示Active: inactive (dead)? 5、杀死nginx重启nginx
pkill -9 nginx ps aux | grep nginx systemctl start nginx再次查看状态,变成了active,搞定。 6、重启服务器
reboot7、再次连接后,查看服务状态
systemctl status nginx.service看到nginx已经启动,至此,nginx自启动配置成功。 8.添加nginx为系统服务 这里使用的是编写shell脚本的方式来处理,编辑nginx文件:
vi /etc/init.d/nginx复制代码
#!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/var/run/nginx.pid RETVAL=0 prog="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 [ -x $nginxd ] || exit 0 # Start nginx daemons functions. start() { if [ -e $nginx_pid ];then echo "nginx already running...." exit 1 fi echo -n $"Starting $prog: " daemon $nginxd -c ${nginx_config} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx return $RETVAL } # Stop nginx daemons functions. stop() { echo -n $"Stopping $prog: " killproc $nginxd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid } # reload nginx service functions. reload() { echo -n $"Reloading $prog: " #kill -HUP `cat ${nginx_pid}` killproc $nginxd -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|reload|status|help}" exit 1 esac exit $RETVAL chkconfig --add /etc/init.d/nginx chmod 755 /etc/init.d/nginx chkconfig --add nginx