linux编译安装nginx

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

如果之前有安装失败了,就先删除

# 停止nginx服务

systemctl stop nginx

# 删除之前的安装

rm -rf /usr/local/nginx

rm -rf /etc/nginx

rm -rf /var/log/nginx

rm -rf /var/run/nginx.pid

rm -rf /var/lock/nginx.lock

1. 安装编译依赖


bash

复制

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

  • 关键依赖说明
    • pcre-devel:正则表达式支持(用于 rewrite 模块)。
    • zlib-devel:Gzip 压缩支持。
    • openssl-devel:HTTPS 加密支持(如需 TLS 1.3 需 OpenSSL 1.1.1+)。

2. 下载 Nginx 源码

推荐使用 稳定版(如 1.25.3):


bash

复制

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

# 进入nginx源码目录

cd nginx-1.25.3

让我们一步步排查问题:

1. **首先检查安装过程是否有错误**:
```bash
# 进入nginx源码目录
cd nginx-1.25.3

# 清理之前的编译
make clean

# 配置
./configure \
  --prefix=/usr/local/nginx \
  --sbin-path=/usr/local/nginx/sbin/nginx \
  --conf-path=/usr/local/nginx/conf/nginx.conf \
  --error-log-path=/usr/local/nginx/logs/error.log \
  --http-log-path=/usr/local/nginx/logs/access.log \
  --pid-path=/usr/local/nginx/logs/nginx.pid \
  --lock-path=/usr/local/nginx/logs/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_gzip_static_module \
  --with-threads \
  --with-stream

# 检查configure是否成功
echo $?

# 编译
make -j$(nproc)

# 检查make是否成功
echo $?

# 安装
sudo make install

# 检查make install是否成功
echo $?
```

2. **检查nginx可执行文件是否存在**:(可以直接去nginx目录看)


```bash
# 检查nginx可执行文件
ls -l /usr/local/nginx/sbin/nginx
```

3. **手动创建必要的目录和文件**:
```bash
# 创建必要的目录
sudo mkdir -p /usr/local/nginx/conf
sudo mkdir -p /usr/local/nginx/logs
sudo mkdir -p /usr/local/nginx/sbin

# 设置权限
sudo chown -R nginx:nginx /usr/local/nginx
```

4. **检查源码目录中的配置文件**:
```bash
# 在nginx源码目录中
ls -l objs/nginx.conf
```

5. **手动复制配置文件**:
```bash
# 复制配置文件
sudo cp objs/nginx.conf /usr/local/nginx/conf/
```

6. **检查nginx是否可用**:
```bash
# 测试nginx配置
/usr/local/nginx/sbin/nginx -t
```

7. **检查安装日志**:
```bash
# 查看安装日志
sudo cat /var/log/messages | grep nginx
```

8. **检查磁盘空间**:
```bash
# 检查磁盘空间
df -h
```

9. **检查nginx用户**:
```bash
# 检查nginx用户是否存在
id nginx

# 如果不存在,创建nginx用户
sudo useradd -r nginx
```

10. **更新systemd服务文件**:
```bash
sudo tee /etc/systemd/system/nginx.service <<EOF
[Unit]
Description=The nginx HTTP and reverse proxy 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=/bin/kill -s QUIT \$MAINPID
User=nginx
Group=nginx

[Install]
WantedBy=multi-user.target
EOF

# 重新加载systemd配置
sudo systemctl daemon-reload
```

请执行这些步骤,并告诉我:
1. configure 命令执行后是否有错误输出?
2. make install 命令执行后是否有错误输出?
3. 源码目录中的 objs/nginx.conf 文件是否存在?


 

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小池先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值