使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务

2024-06-04 1446阅读

目录

  • 使用源代码安装软件【Nginx】
    • 前言
    • 具体步骤
      • 下载nginx源代码包
      • 将源代码包进行解压缩
      • 安装依赖库
      • 执行configure脚本生成编译配置文件Makefile
      • 执行命令make编译源代码
      • 执行make install安装软件
      • 测试nginx
      • 编写systemd单元文件管理nginx服务
        • 前言
        • 具体步骤
          • 编写文件
          • 启动nginx
          • 总结

            使用源代码安装软件【Nginx】

            前言

            在数字化时代,Nginx已成为构建高性能网络架构的重要组件,无论是作为反向代理服务器、负载均衡器,还是静态文件服务器,它都展现出了卓越的性能和稳定性。然而,对于许多寻求更深入控制、定制和优化Nginx功能的用户来说,使用预编译的二进制包可能无法满足所有需求。从源代码安装Nginx则提供了一个更为灵活和个性化的途径。通过源代码安装,您可以根据需要调整编译选项,添加或禁用特定模块,从而更好地满足特定应用场景的需求。同时,这一过程也有助于加深对Nginx内部机制的理解,为未来的系统维护和扩展打下坚实的基础。在本篇文章中,我们将逐步指导您完成从源代码安装Nginx的过程,并分享一些最佳实践和调优建议,助您打造高效、稳定的Nginx服务器。)

            具体步骤

            下载nginx源代码包

            首先我们需要下载nginx源代码包

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

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第1张

            将源代码包进行解压缩

            tar zxvf nginx-1.20.2.tar.gz
            

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第2张

            安装依赖库

            先进入nginx-1.20.2文件,后安装c++编译环境,安装PCRE库,安装OpenSSL库,安装zlib库。

            cd nginx-1.20.2

            yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第3张

            执行configure脚本生成编译配置文件Makefile

            ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
            

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第4张

            执行命令make编译源代码

            make

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第5张

            执行make install安装软件

            make install

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第6张

            至此完成nginx的编译安装。

            测试nginx

            如果当前还运行apache服务器,请停止它以免产生冲突:

            systemctl stop httpd.service

            根据上述设置,ngunx安装在/usr/local/nginx 目录中,可以直接执行其中的命令nginx来启动它:

            /usr/local/nginx/sbin/nginx

            此时可以使用浏览器访问进行实测,结果正常

            注意:访问地址为自己的IP地址

            使用源代码安装软件【Nginx】 编写systemd单元文件管理nginx服务 第7张

            可以使用以下命令重新加载配置,重启,停止,退出nginx服务:

            /usr/local/nginx/sbin/nginx -s reload|reopen|stop|quit

            编写systemd单元文件管理nginx服务

            前言

            在现代Linux系统中,systemd已经成为初始化系统和服务管理器的标准。对于管理Nginx这类关键服务,使用systemd单元文件提供了灵活、强大且统一的管理方式。通过编写systemd单元文件,我们可以实现服务的自动启动、重启、状态监控和日志管理等功能,确保Nginx服务的稳定性和可靠性。在本篇文章中,我们将探讨如何编写systemd单元文件来管理Nginx服务。

            具体步骤

            编写文件

            在/usr/lib/systemd/system或/etc/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=/usr/local/nginx/logs/nginx.pid
            ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
            ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
            ExecReload=/bin/kill -s HUP $MAINPID
            ExecStop=/bin/kill -s QUIT $MAINPID
            PrivateTmp=true
            [Install]
            WantedBy=multi-user.target
            

            启动nginx

            要让systemd重新识别此单元文件,通常执行systemctl daemon-reload命令重载配置,或者重启系统。这样就可以使用systemd来管理nginx的启动,重启,随机启动等。

            执行此命令启动nginxsystemctl start nginx.service

            执行以下命令使nginx随机启动:

            systemctl enable nginx.service

            总结

            以上就是今天要讲的内容,本文仅仅简单介绍了使用源代码安装nginx和编写systemd单元文件管理nginx服务。

            Tips:编写systemd文件后启动nginx时,需要先将在/usr/local/nginx目录中的nginx的服务停止,否则在启动nginx时会报错。

            ————DU04-wangdang


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]