文档撰写人:@EricChang
审阅人:@Raptor
鸣谢:吴耀辉、王琪琛、杨国帅、李锐、章定川
版本号:1.1
新版本更新时间:2023年10月5日
一、解压nginx
要解压/usr/local下的nginx-1.25.1.tar.gz文件,请在终端中执行以下命令:
cd /usr/local
tar -zxvf nginx-1.25.1.tar.gz
二、安装开发工具包和依赖项 用于编译nginx服务
1、对于 CentOS 9,你需要确保安装了适当的开发工具包和依赖项。请按照以下步骤操作:
sudo yum groupinstall "Development Tools"
sudo yum install pcre-devel zlib-devel openssl-devel
2.进入 Nginx 源代码目录:cd /usr/local/nginx-1.25.1
3.运行 ./configure
命令来配置编译选项:
./configure --with-http_ssl_module --with-http_auth_request_module
4.运行 make
命令来编译 Nginx:
make
三、安装nginx服务
运行 sudo make install
命令来安装 Nginx:
sudo make install
四、nginx配置日志存放配置
可以使用以下命令创建目录并设置权限:(将创建两个日志文件存放位置)
sudo mkdir -p /usr/local/nginx/logs
sudo chown -R nginx:nginx /usr/local/nginx/logs
五、添加nginx环境变量
要将 /usr/local/nginx/sbin
添加到系统的 PATH 环境变量中,可以按照以下步骤进行操作:
打开终端并以管理员身份登录到系统。
编辑
/etc/profile
文件。可以使用以下命令打开该文件:
sudo vi /etc/profile
3.添加配置文件
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
export PATH=$PATH:/usr/local/nginx/sbin
# Loop through /etc/profile.d/ to load additional scripts
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
unset i
unset -f pathmunge
if [ -n "${BASH_VERSION-}" ] ; then
if [ -f /etc/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bashrc
# Check for double sourcing is done in /etc/bashrc.
. /etc/bashrc
fi
fi
4.保存上述配置文件,并对命令行输入
cd
source /etc/profile
六、对nginx配置HTTPS信息
1.先安装snsp工具包
sudo yum install epel-release
sudo yum install snapd
2.启动 Snapd 服务:首先,尝试启动 Snapd 服务。你可以使用以下命令:
sudo systemctl start snapd
如果 Snapd 服务已启动,你可能会看到 "snapd.service is already active" 或类似的消息。
3.启动 Snapd 服务:首先,尝试启动 Snapd 服务。你可以使用以下命令:
sudo systemctl start snapd
如果 Snapd 服务已启动,你可能会看到 "snapd.service is already active" 或类似的消息。
启用 Snapd 服务:如果 Snapd 服务没有自动启动,可以使用以下命令启用它,以确保它在系统启动时自动启动:
bashCopy code
sudo systemctl enable snapd
重新启动 Snapd:执行以下命令以确保 Snapd 服务已正常运行:
bashCopy code
sudo systemctl restart snapd
验证 Snap 安装:再次运行以下命令来验证 Snap 是否已成功安装:
bashCopy code
snap version
如果上述步骤都成功执行,Snapd 服务应该已经正确运行,你现在可以使用 sudo snap install
命令来安装 Snap 软件包了。
如果你仍然遇到问题,可能需要检查系统日志以获取更多关于 Snapd 服务启动失败的信息。你可以使用以下命令来查看日志:
journalctl -xe | grep snapd
这将列出与 Snapd 相关的日志信息,有助于识别问题。如果你需要更多帮助,请提供有关你的操作系统版本和其他环境细节的信息,以便我能够提供更具体的建议。
七、安装CertBot
sudo snap install core
sudo snap refresh core
安装 Certbot 的官方 ACME 客户端:
首先,你需要使用包管理器安装 Certbot 的官方 ACME 客户端。在 CentOS 上,可以使用
yum
来安装:
sudo yum install certbot
运行 Certbot:
安装完成后,你可以运行 Certbot 来获取 SSL 证书并配置 HTTPS。例如,要获取证书并配置 Nginx 服务器:
sudo certbot --nginx
Certbot 将引导你完成配置过程,并为你生成和安装 SSL 证书。
请注意,这种方法将使用系统的包管理器来安装 Certbot,而不是使用 Snap。这可能是一种绕过 Snap 限制的方式,并且在 CentOS 系统上更为常见。
八、添加环境变量
[Unit]Description=Nginx HTTP Server
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 stop
PrivateTmp=true[Install]WantedBy=multi-user.target
请确保删除ExecReload和ExecStop中多余的/nginx目录,然后保存并退出编辑器。
随后,您可以重新加载systemd服务,以便更改生效:
bashCopy code
sudo systemctl daemon-reload
然后尝试重新运行nginx -t命令检查Nginx配置文件的语法。如果不再出现错误,请尝试再次运行Certbot以配置SSL/TLS证书。