Linux安装Nginx:从部署到上线
linux安装nginx
Nginx 是一款高性能的 Web 服务器,常用于网站托管、反向代理、负载均衡、静态资源加速以及 HTTPS 服务部署。相比传统 Web 服务器,Nginx 占用资源少、并发能力强,因此在 Linux 服务器中非常常见。下面以常见 Linux 发行版为例,介绍 linux安装nginx 的完整教程。
一、安装前准备
在安装 Nginx 之前,建议先更新系统软件包,确保依赖组件处于正常状态。
Ubuntu / Debian 系统
sudo apt update
sudo apt install nginx -y
安装完成后,可以通过以下命令查看 Nginx 状态:
systemctl status nginx
如果服务已经运行,可以继续下一步;如果没有运行,可以启动服务:
sudo systemctl start nginx
sudo systemctl enable nginx
CentOS / RHEL 系统
sudo yum install nginx -y
如果系统使用 dnf 包管理器,可以使用:
sudo dnf install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
Alpine Linux 系统
sudo apk add nginx
sudo rc-update add nginx default
sudo rc-service nginx start
二、检查 Nginx 是否安装成功
安装完成后,可以在服务器本地访问测试:
curl http://localhost
如果页面返回 Nginx 默认欢迎页内容,说明 Nginx 已经正常运行。
也可以通过浏览器访问服务器 IP 地址:
http://你的服务器IP
如果看到 Nginx 默认页面,说明 Web 服务已经可以对外访问。
三、配置防火墙
如果服务器开启了防火墙,需要放行 HTTP 和 HTTPS 端口。
firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
ufw
sudo ufw allow 'Nginx Full'
sudo ufw reload
iptables 示例
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
如果使用云服务器,还需要在云厂商控制台中开放安全组端口,例如 80 和 443。
四、Nginx 常用配置文件位置
不同系统中,Nginx 配置文件位置略有不同。
Ubuntu / Debian:
/etc/nginx/nginx.conf
/etc/nginx/sites-available/default
/etc/nginx/sites-enabled/default
CentOS / RHEL:
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
修改配置后,需要先检查配置是否正确:
sudo nginx -t
如果提示成功,再重新加载配置:
sudo systemctl reload nginx
五、部署一个简单的网站
假设网站文件存放在:
/var/www/html
可以创建一个测试页面:
echo "Hello Nginx" | sudo tee /var/www/html/index.html
如果使用虚拟主机,可以新建配置文件,例如:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
然后将该站点加入启用目录,重新加载 Nginx 即可。
六、配置 HTTPS
生产环境中建议使用 HTTPS。可以使用 Let’s Encrypt 免费证书工具 Certbot 来配置。
Ubuntu / Debian:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
CentOS / RHEL:
sudo yum install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
Certbot 会自动修改 Nginx 配置,并配置证书自动续期。配置完成后,可以访问:
https://example.com
七、Nginx 常用命令
查看状态:
systemctl status nginx
启动服务:
sudo systemctl start nginx
停止服务:
sudo systemctl stop nginx
重启服务:
sudo systemctl restart nginx
重新加载配置:
sudo systemctl reload nginx
检查配置是否正确:
sudo nginx -t
查看版本:
nginx -v
八、安装 Nginx 常见问题
1. 端口被占用
如果启动失败,并提示 80 端口被占用,可以查看占用端口的服务:
sudo ss -tunlp | grep :80
确认占用进程后,停止冲突服务或修改 Nginx 监听端口。
2. 权限不足
如果修改配置文件时报错,需要使用 sudo:
sudo vim /etc/nginx/nginx.conf
3. 网站无法访问
需要检查以下几点:
- Nginx 服务是否运行
- 防火墙是否放行 80 端口
- 云服务器安全组是否开放端口
- 域名是否解析到服务器 IP
- Nginx 配置文件是否正确
总结
本文介绍了在 Linux 系统中安装和使用 Nginx 的方法,包括 Ubuntu、Debian、CentOS、RHEL 以及 Alpine 等常见系统的安装命令,也涵盖了服务启动、防火墙配置、网站部署、HTTPS 配置和常用维护命令。Nginx 配置灵活、性能优秀,适合作为静态网站服务器、反向代理服务器和负载均衡入口。掌握 linux安装nginx 的基本流程后,就可以进一步搭建个人网站、企业应用、API 网关和 HTTPS 安全访问环境。