首页 > 系统相关 >Nginx源码编译并运行

Nginx源码编译并运行

时间:2022-10-30 08:55:24浏览次数:41  
标签:编译 nginx res echo Nginx 源码 exit prog local

获取源码包并解压

登录http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz

安装Nginx

cd nginx-1.20.2
./configure

make
make install

启动与退出

直接执行Nginx二进制程序

/usr/local/nginx/sbin/nginx

读取默认路径下的配置文件

cat /usr/local/nginx/conf/nginx.conf

优雅退出

/usr/local/nginx/sbin/nginx -s quit

 

脚本控制nginx启动和退出以及更新

nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
# nginx退出后该文件自动删除
nginx_pid=/usr/local/nginx/logs/nginx.pid
res=0
prog="nginx"

# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network

# 确认网络已经开启
[ ${NETWORKING} = "yes" ] || exit 0
# 确认nginx二进制文件有可执行权限
[ -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: "
   # [ OK ]或者[ FAILED ]
   daemon $nginxd -c ${nginx_config}
   res=$?
   echo
   [ $res = 0 ] && touch /var/lock/subsys/nginx
}
# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
		# [ OK ]或者[ FAILED ]
        killproc $nginxd
        res=$?
        echo
        [ $res = 0 ] && rm -f /var/lock/subsys/nginx
}
# reload nginx service functions.
reload() {
    echo -n $"Reloading $prog: "
    killproc $nginxd -HUP
    res=$?
    echo
}

case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        res=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 0
esac
echo "exit: $res"
exit $res

 

标签:编译,nginx,res,echo,Nginx,源码,exit,prog,local
From: https://www.cnblogs.com/WJQ2017/p/16840484.html

相关文章

  • nginx 客户端返回499的错误码
    我们服务器客户端一直有返回错误码499的日志,以前觉得比例不高,就没有仔细查过,最近有领导问这个问题,为什么耗时只有0.0几秒,为啥还499了?最近几天就把这个问题跟踪定位了一下,......
  • nginx容器与php容器连接
    文档说明:只记录关键地方;试验环境:linuxdebian11目标:nginx容器与php容器连接构建PHP容器curl-fsSL'https://curl.haxx.se/ca/cacert.pem'-o/usr/local/etc/p......
  • spdlog日志库源码:logger类
    目录特性类图关系logger数据成员logger函数成员构造与析构构造函数拷贝构造、移动构造交换操作log()记录日志消息格式串普通字符串日志级别宽字符支持sink_it_:将log消息交......
  • 最新php多商户多仓库带扫描云进销存系统ERP管理系统Saas营销版无限商户源码
    1、电脑端+手机端,手机实时共享,手机端一目了然。2、多商户Saas营销版无限开商户,用户前端自行注册,后台管理员审核开通3、管理员开通商户,可以设置商户到期时间、权限等等,无......
  • 编译安装python解释器
    Step1官网下载对应版本的压缩包如下图是python3.9.14版本的解释器Step2进入终端找到该压缩包并解压tarxfPython-3.9.14.tgzcdPython-3.9.14.tgzStep3编译安......
  • ELK部署-实现Nginx日志收集
    一、部署ES1、创建网络下载镜像dockernetworkcreateelasticdockerpullelasticsearch:7.17.62、目录准备mkdir/opt/ELK/elastic/{data,config}-pchmod777/o......
  • Spring源码-SpringMVC-搭建springmvc环境
    一、新建模块myself-web新建gradle的web项目,右键项目名,选择NEW-Moudle.左边选择Gradle,右下选择web即可。build.gradleplugins{id'java'id'war'id"com.bmuschko......
  • phpstudy出现乱码导致Apache或者Nginx无法启动
    今天在使用Phpstudy的时候,突然无法创建新站点了(好久没用过了)。错误提示如下:(注意截图位置,端口和时间都是乱码)    经过查阅大量资料,原来是软件的编码格式导致......
  • xxl-job 源码初探
    xxl-job客户端把JobHandle的value和method映射关系存储到map中1.1启动入口1.2在该文件getBean后被调用1.3xxl-job实际映射位置1.4放置到map中......
  • Nginx代理后端Tomcat
    拉取镜像并运行dockerpullnginx:1.23dockerpulltomcat:8dockerrun-dnginx:1.23dockerrun-dtomcat:8进入nginx容器安装vim命令并备份安装vim命令apt-get......