Nginx 在centos9下安装


云上空地知识库 发布于 2023-10-05 / 86 阅读 / 1 评论 /
文档撰写人:@EricChang 审阅人:@Raptor 鸣谢:吴耀辉、王琪琛、杨国帅、李锐、章定川 版本号:1.1 新版本更新时间:2023年10月5日 一、解压nginx 要解压/usr/local下的nginx-1.25.1.tar.gz文件,请在终端中执行以下命令: cd /usr/loca

文档撰写人:@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 环境变量中,可以按照以下步骤进行操作:

  1. 打开终端并以管理员身份登录到系统。

  2. 编辑 /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
  1. 如果 Snapd 服务已启动,你可能会看到 "snapd.service is already active" 或类似的消息。

  2. 启用 Snapd 服务:如果 Snapd 服务没有自动启动,可以使用以下命令启用它,以确保它在系统启动时自动启动:

bashCopy code
sudo systemctl enable snapd
  1. 重新启动 Snapd:执行以下命令以确保 Snapd 服务已正常运行:

bashCopy code
sudo systemctl restart snapd
  1. 验证 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
  1. 安装 Certbot 的官方 ACME 客户端:

  2. 首先,你需要使用包管理器安装 Certbot 的官方 ACME 客户端。在 CentOS 上,可以使用 yum 来安装:

sudo yum install certbot
  1. 运行 Certbot:

  2. 安装完成后,你可以运行 Certbot 来获取 SSL 证书并配置 HTTPS。例如,要获取证书并配置 Nginx 服务器:

sudo certbot --nginx
  1. 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证书。


是否对你有帮助?

评论