源码编译安装nginx及设置开机启动项

摘要:
"elseecho"FailedtostopnginxUnitnginxnotloaded."exit1fielif["$1"="restart"]then/data/nginx-1.20.1/sbin/nginx-sreloadecho"nginxisreload"elseecho"Usage:sh$0{start|stop|restart}"fi保存退出后,授执行权限:chmod+x/root/nginx_lxc设置开机启动项方式1:在linux6.X或centos6.X系统下设置开机启动项,在/etc/init.d目录下添加nginx的自动启动脚本,如下示例:#!"  else  echo"FailedtostopnginxUnitnginxnotloaded."  exit1  fielif["$1"="restart"]  then    /data/nginx-1.20.1/sbin/nginx-sreload    echo"nginxisreload"  else    echo"Usage:sh$0{start|stop|restart}"fi脚本编辑好后,添加执行权限chmod775nginx命令执行:启动Nginxservicenginxstart停止Nginxservicenginxstop重启Nginxservicenginxrestart最后设置开机自启动,执行:chkconfig--addnginxchkconfignginxon查询是否设置开启自启动成功,执行:chkconfig--listnginx设置开机启动项方式2:在linux7.x或centos7.x系统使用systemctl管理nginx服务。

1、上传nginx文档;解压到/data目录下,并安装依赖包
tar xf nginx-1.20.1.tar.gz -C /data/
cd /data/nginx-1.20.1/ && ll
依赖关系安装,执行如下:
yum -y install zlib pcre pcre-devel openssl openssl-devel

2、自定义安装nginx

./configure --prefix=/data/nginx-1.20.1 --conf-path=/data/nginx-1.20.1/nginx.conf --error-log-path=/data/nginx-1.20.1/logs/error.log --http-log-path=/data/nginx-1.20.1/logs/access.log --with-http_stub_status_module --pid-path=/data/nginx-1.20.1/nginx.pid --without-http_rewrite_module
make && make install

3、启动nginx
(1)常规方式:

cd /usr/local/nginx
/sbin/nginx -c conf/nginx.conf

(2)编辑脚本方式:
源码编译安装nginx是没有nginx服务的,对于这种情况的解决方案有:
编辑脚本,如下示例:

vi /root/nginx_lxc
#!/bin/bash

if [ "$1" = "start"]
then
   if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
   then:
   else
        /data/nginx-1.20.1/sbin/nginx -c /data/nginx-1.20.1/nginx.conf
        echo "nginx is running..."
   fi
elif [ "$1" = "stop"]
then
   if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
   then
        kill `cat /data/nginx-1.20.1/nginx.pid`
        echo "nginx is killed!"
   else
        echo "Failed to stop nginx Unit nginx not loaded."exit 1
   fi
elif [ "$1" = "restart"]
then
   /data/nginx-1.20.1/sbin/nginx -s reload
   echo "nginx is reload"
else
   echo "Usage: sh $0 {start|stop|restart}"
fi
保存退出后,授执行权限:
chmod +x /root/nginx_lxc

(3)设置开机启动项方式1:
在linux6.X或centos6.X系统下设置开机启动项,在/etc/init.d目录下添加nginx的自动启动脚本,如下示例:(说明:在linux7.x或centos7.x系统下也可这样设置)

#!/bin/bash
# 
# chkconfig: 2345 85 95 
# description: Nginx is a World Wide Web server. 
# processname: nginx 
if [ "$1" = "start" ]
  then
if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
  then 
  :
  else
  /data/nginx-1.20.1/sbin/nginx -c /data/nginx-1.20.1/nginx.conf
  echo "nginx is running..."
  fi
  # /data/nginx-1.20.1/sbin/nginx -c /data/nginx-1.20.1/nginx.conf
  # echo "nginx is running..."
elif [ "$1" = "stop" ]
  then
  if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
  then
     kill `cat /data/nginx-1.20.1/nginx.pid`
     echo "nginx is killed!"
  else
     echo "Failed to stop nginx Unit nginx not loaded."
     exit 1
  fi
elif [ "$1" = "restart" ]
  then
    /data/nginx-1.20.1/sbin/nginx -s reload
    echo "nginx is reload"
  else
    echo "Usage: sh $0 {start|stop|restart}"
fi

脚本编辑好后,添加执行权限
chmod 775 nginx

命令执行:

启动Nginx
service nginx start

停止Nginx
service nginx stop

重启Nginx
service nginx restart

最后设置开机自启动,执行:

chkconfig --add nginx

chkconfig nginx on

查询是否设置开启自启动成功,执行:
chkconfig --list nginx

(4)设置开机启动项方式2:
在linux7.x或centos7.x系统使用systemctl管理nginx服务。
说明:由于linux7系统没有抛弃chkconfig方式管理服务,这里延续上面示例中设置的启动、停止和重启路径,如未完成之前设置,可改为nginx程序路径下的启动路径。
在/usr/lib/systemd/system目录下,创建nginx.service脚本,如下示例:

[Unit]
Description=Nginx service
After=network.target

[Service]
Type=forking
PIDFile=/data/nginx-1.20.1/nginx.pid
ExecStart=/etc/init.d/nginx start
ExecReload=/etc/init.d/nginx restart
ExecStop=/etc/init.d/nginx stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存退出 设置开机启动: systemctl enable nginx.service

其他操作
systemctl start nginx
systemctl stop nginx
systemctl status nginx.service
systemctl disable nginx
查看是否已添加开机自启动服务
systemctl list-unit-files |grep nginx

4、nginx服务及端口查看
ss -antlup |grep nginx
ps -ef |grep nginx
lsof -i :80

免责声明:文章转载自《源码编译安装nginx及设置开机启动项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决fences2.01在win8.1的状态下无法移动桌面图标问题AS3.0中Matrix类的学习经验(改变注册点、旋转图像)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Nginx虚拟主机配置教程

说明:配置之前先把域名解析到服务器IP地址上 站点1:bbs.osyunwei.com 程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com 程序所在目录/data/osyunwei/sns chown www.www /data/osyunwei/ -R #设置目录所有者,www为nginx运行账户 chmod 70...

Apache/Nginx/IIS 访问日志详解

Apache日志详解 1.Apache日志文件名称及所在路径 日志文件一般都是保存在在apache/logs目录下,实际情况可以根据Apache的配置文件去查找日志文件所在的路径。 例如phpstudy(windows)在 :phpstudy/Extensions/apache/logs; wdcp(linux)在 :www/wdlinux/apache/...

docker镜像仓库

一,下载registry镜像并启动 $ docker pull registry $ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry 二,测试,查看镜像仓库中所有镜像 $ curl http...

linux制作RPM包

制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象,是源码包编译打包还只是一些库文件打包 3)编写SPEC文件 4)开始制作 1.2 RPM制作过程 1)读取并解析 filename.spec 文件...

FastDFS分布式图片服务器搭建

一:Fastdfs简介 1. 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。  FastDFS 架构包括 Tracker se...

JAVA之编码---->CSV在文本下是正常的,用EXCEL打开是乱码的问题

JAVA之编码---->CSV在文本下是正常的,用EXCEL打开是乱码的问题 在JAVA下输出文件流,保存成CSV(用UTF-8)文件,怎么处理用EXCEL下是乱码,但是在记事本等其他软件都是正常的,同时显示也是UTF-8的编码,经过测试发现如下结果: 1、EXCEL只能打开ANSI的编码,而ANSI需要当前操作系统是什么编码,就用什么编码。如中文...