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

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

前言

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

具体步骤

下载nginx源代码包

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

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

请添加图片描述

将源代码包进行解压缩

tar zxvf nginx-1.20.2.tar.gz

请添加图片描述

安装依赖库

先进入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
请添加图片描述

执行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

请添加图片描述

执行命令make编译源代码

make
请添加图片描述

执行make install安装软件

make install
请添加图片描述
至此完成nginx的编译安装。

测试nginx

如果当前还运行apache服务器,请停止它以免产生冲突:
systemctl stop httpd.service
根据上述设置,ngunx安装在/usr/local/nginx 目录中,可以直接执行其中的命令nginx来启动它:
/usr/local/nginx/sbin/nginx
此时可以使用浏览器访问进行实测,结果正常
注意:访问地址为自己的IP地址
请添加图片描述
可以使用以下命令重新加载配置,重启,停止,退出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

  • 50
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将nginx配置为systemctl服务,需要按照以下步骤进行操作: 1. 下载和安装nginx安装nginx之前,需要先安装一些必要的软件包和依赖项。可以使用以下命令: sudo apt-get update sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev libssl-dev 然后,下载nginx源代码并进行编译和安装: wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -zxvf nginx-1.18.0.tar.gz cd nginx-1.18.0 ./configure --prefix=/usr/local/nginx --with-http_ssl_module make sudo make install 2. 创建systemctl服务文件 在/etc/systemd/system目录下创建一个名为nginx.service的文件,并将以下内容复制到该文件中: [Unit] Description=nginx - high performance web server After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t 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 3. 启用并启动systemctl服务 使用以下命令启用nginx服务: sudo systemctl enable nginx 然后,使用以下命令启动nginx服务: sudo systemctl start nginx 现在,您可以使用以下命令检查nginx服务的状态: sudo systemctl status nginx 如果一切正常,您应该会看到一个“active (running)”状态的消息。 4. 管理nginx服务 您可以使用以下命令来管理nginx服务: sudo systemctl stop nginx sudo systemctl start nginx sudo systemctl restart nginx sudo systemctl reload nginx 以上命令分别用于停止、启动、重新启动和重新加载nginx服务。 总之,这些是将nginx配置为systemctl服务的简单步骤。使用systemctl管理nginx服务将使您更方便地控制和管理nginx服务
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值