【Linux-安装nginx】

一、环境确认

首先确认你的操作系统类型,这决定了使用哪个包管理工具:

bash 复制代码
cat /etc/os-release
操作系统 包管理工具
Ubuntu/Debian apt
CentOS/RHEL/RockyLinux yum 或 dnf
Alibaba Cloud Linux yum

二、Ubuntu/Debian 系统安装步骤

1. 更新软件源并安装

bash 复制代码
sudo apt update
sudo apt install nginx -y

2. 启动并设置开机自启

bash 复制代码
# 启动 Nginx 服务
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

# 查看运行状态(应显示 active (running))
sudo systemctl status nginx

3. 配置防火墙(如果使用 ufw)

bash 复制代码
# 允许 Nginx 的 HTTP 流量
sudo ufw allow 'Nginx HTTP'

# 或直接开放 80 端口
sudo ufw allow 80/tcp

# 查看防火墙状态
sudo ufw status

三、CentOS/RHEL 系统安装步骤

1. 安装 EPEL 源并安装 Nginx

bash 复制代码
# 安装 EPEL 扩展源(CentOS 7/8 需要)
sudo yum install epel-release -y

# 安装 Nginx
sudo yum install nginx -y

2. 启动并设置开机自启

bash 复制代码
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

3. 开放防火墙端口(如果使用 firewalld)

bash 复制代码
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

四、验证安装是否成功

方法一:本地 curl 测试

bash 复制代码
curl -I http://localhost

方法二:浏览器访问

在浏览器中输入你的服务器公网 IP,看到 "Welcome to nginx" 页面即表示安装成功

五、常用管理命令

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

六、默认网站根目录

操作系统 默认根目录 说明
Ubuntu/Debian /var/www/html/ apt 安装的默认目录
CentOS/RHEL /usr/share/nginx/html/ yum 安装的默认目录
源码编译 /usr/local/nginx/html/ 编译时指定的路径

七、查看当前 Nginx 根目录

bash 复制代码
# 查看 Nginx 配置中的根目录
grep -r "root" /etc/nginx/conf.d/
grep -r "root" /etc/nginx/sites-enabled/

# 或查看默认配置
cat /etc/nginx/sites-available/default | grep root
相关推荐
陈随易23 分钟前
VSCode的Copilot扩展支持接入DeepSeek,Kimi了!
前端·后端·程序员
我不是外星人2 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
IT_陈寒4 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
Jackson__5 小时前
分享一个横向滚动案例,带悬停暂停,通用性很强
前端
MariaH6 小时前
git rebase的使用
前端
_柳青杨6 小时前
深入理解 JavaScript 事件循环
前端·javascript
阡陌Jony6 小时前
关于前端性能优化的一些问题:
前端
用户600071819107 小时前
【翻译】简化 TSRX
前端
IT乐手8 小时前
佛德角逼平西班牙,国足还有啥借口?
前端
ping某8 小时前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx