你需要知道的一件事

Nginx 安装只需要 一条命令

真正花时间的不是安装,是装完之后的配置和防坑。

这篇只讲最短路径:装上 → 能跑 → 能对外访问


第一步:安装(一条命令的事)

Ubuntu / Debian

sudo apt update
sudo apt install nginx -y

CentOS / RHEL / Alibaba Cloud Linux

# 先装 EPEL 源(CentOS 7 需要)
sudo yum install epel-release -y

# 再装 nginx
sudo yum install nginx -y

验证是否装上

nginx -v
# 输出:nginx version: nginx/1.24.0(版本号看你装的)

第二步:启动 + 开机自启

# 启动
sudo systemctl start nginx

# 开机自启
sudo systemctl enable nginx

# 看状态
sudo systemctl status nginx
# 看到 active (running) 就对了 ✅

第三步:防火墙放行(90% 的人装完访问不了,就是卡在这)

UFW(Ubuntu 默认)

sudo ufw allow 'Nginx Full'
# 等价于放行 80 + 443

firewalld(CentOS 默认)

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

云服务器安全组(阿里云/腾讯云/AWS)

这个最容易忘。

去控制台 → 安全组 → 入站规则 → 加两条:

协议 端口 来源
TCP 80 0.0.0.0/0
TCP 443 0.0.0.0/0

不加这个,外面永远访问不了。


第四步:验证能不能访问

浏览器打开:

http://你的服务器IP

看到这个页面就对了:

Welcome to nginx!


第五步:最基础的配置(改一次就够用)

配置文件在:

系统 路径
Ubuntu/Debian /etc/nginx/nginx.conf
CentOS/RHEL /etc/nginx/nginx.conf

站点配置放:

系统 路径
Ubuntu/Debian /etc/nginx/sites-available/sites-enabled/
CentOS/RHEL /etc/nginx/conf.d/

最常用的反向代理配置

server {
    listen 80;
    server_name api.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

保存后:

sudo nginx -t          # 检查配置有没有语法错误
sudo systemctl reload nginx   # 重载,不断连接

日常运维命令速查

操作 命令
启动 sudo systemctl start nginx
停止 sudo systemctl stop nginx
重启 sudo systemctl restart nginx
重载配置 sudo systemctl reload nginx
查状态 sudo systemctl status nginx
查错误日志 sudo tail -f /var/log/nginx/error.log
查访问日志 sudo tail -f /var/log/nginx/access.log
测试配置 sudo nginx -t

常见坑 & 解决

症状 原因 解决
装完访问不了 防火墙没开 开 80/443 端口
本地 curl 127.0.0.1 能通,外网不通 云安全组没开 去控制台加规则
nginx -t 报错 配置语法错了 /var/log/nginx/error.log
reload 后不生效 旧进程没杀干净 ps aux | grep nginx 手动 kill 掉再 start
端口被占用 80 被别的服务占了 sudo lsof -i :80 查谁占的

整个流程回顾

步骤 命令 耗时
安装 apt install nginx 30 秒
启动 systemctl start nginx 2 秒
防火墙 ufw allow 'Nginx Full' 5 秒
安全组 控制台点两下 30 秒
验证 浏览器打开 IP 5 秒
合计 不到 2 分钟

一句话总结

安装 Nginx 只要一条命令,装完访问不了 99% 是防火墙或安全组的问题。

记得开端口,记得开端口,记得开端口。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐