插件窝 干货文章 centos8怎么自定义目录安装nginx

centos8怎么自定义目录安装nginx

Nginx 安装 opt bash 32    来源:    2025-04-23

在CentOS 8上自定义目录安装Nginx

在CentOS 8上自定义安装Nginx到非默认目录需要从源代码编译安装。以下是详细步骤:

1. 安装必要的依赖

sudo dnf install -y gcc make pcre-devel zlib-devel openssl-devel wget

2. 创建自定义安装目录

假设你想将Nginx安装到/opt/nginx目录:

sudo mkdir -p /opt/nginx
sudo chown $(whoami):$(whoami) /opt/nginx

3. 下载Nginx源代码

cd /tmp
wget http://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3

4. 配置编译选项

./configure \
    --prefix=/opt/nginx \
    --sbin-path=/opt/nginx/sbin/nginx \
    --conf-path=/opt/nginx/conf/nginx.conf \
    --pid-path=/opt/nginx/logs/nginx.pid \
    --error-log-path=/opt/nginx/logs/error.log \
    --http-log-path=/opt/nginx/logs/access.log \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-http_stub_status_module \
    --with-threads

5. 编译并安装

make
sudo make install

6. 创建系统服务文件

创建/etc/systemd/system/nginx.service文件:

sudo nano /etc/systemd/system/nginx.service

内容如下:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

7. 启用并启动Nginx服务

sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx

8. 验证安装

/opt/nginx/sbin/nginx -v
sudo systemctl status nginx
curl http://localhost

9. 配置环境变量(可选)

为了方便使用,可以将Nginx可执行文件路径添加到PATH:

echo 'export PATH=$PATH:/opt/nginx/sbin' >> ~/.bashrc
source ~/.bashrc

注意事项

  1. 自定义安装后,配置文件位于/opt/nginx/conf/nginx.conf
  2. 日志文件默认在/opt/nginx/logs/目录
  3. 如果需要添加更多模块,需要在编译时通过--with-module_name指定
  4. 更新时需要重新编译安装,不能直接使用包管理器更新

这样你就成功在CentOS 8上自定义目录安装了Nginx。