linux下nginx安装及其配置详细
封面图
•
2025-10-22
•
NGINX
331
0
0
0
在 Linux 系统下安装和配置 Nginx 是一个常见的任务,尤其适用于搭建 Web 服务器、反向代理或负载均衡等场景。以下是详细的安装与配置步骤(以 Ubuntu/Debian 系统为例)。 --- ## 📦 一、安装 Nginx ### 1. 更新系统包列表 ```bash sudo apt update ``` ### 2. 安装 Nginx ```bash sudo apt install nginx ``` > 如果是 CentOS 或其他系统,请使用相应的命令(如 `yum` 或 `dnf`),但本教程以 Ubuntu 为例。 ### 3. 检查 Nginx 是否安装成功 ```bash nginx -v ``` 或者查看服务状态: ```bash systemctl status nginx ``` 如果未启动,可以手动启动: ```bash sudo systemctl start nginx ``` 设置开机自启: ```bash sudo systemctl enable nginx ``` --- ## 🌐 二、基本配置说明 Nginx 的主配置文件位于 `/etc/nginx/nginx.conf`,而站点配置通常放在 `/etc/nginx/sites-available/` 目录中,并通过符号链接到 `/etc/nginx/sites-enabled/`。 ### 1. 查看默认配置文件 ```bash cat /etc/nginx/nginx.conf ``` ### 2. 默认站点配置(示例) 默认的站点配置文件是 `/etc/nginx/sites-available/default`。 你可以编辑这个文件来修改默认的网站行为。 ```bash sudo nano /etc/nginx/sites-available/default ``` 典型配置如下: ```nginx server { listen 80; server_name example.com; location / { root /var/www/html; index index.html index.htm; try_files $uri $uri/ =404; } } ``` - `listen 80;`:监听 80 端口(HTTP) - `server_name`:域名(可替换为 IP 地址或域名) - `root`:网页根目录 - `index`:默认索引文件 - `try_files`:尝试访问文件,找不到则返回 404 --- ## 🧩 三、创建新的站点配置(可选) ### 1. 创建新站点配置文件 ```bash sudo nano /etc/nginx/sites-available/mywebsite.com ``` 内容如下: ```nginx server { listen 80; server_name mywebsite.com; location / { root /var/www/mywebsite; index index.html; try_files $uri $uri/ =404; } error_page 404 /404.html; location = /404.html { root /var/www/html; } } ``` ### 2. 启用该站点(创建符号链接) ```bash sudo ln -s /etc/nginx/sites-available/mywebsite.com /etc/nginx/sites-enabled/ ``` ### 3. 删除默认配置(可选) ```bash sudo rm /etc/nginx/sites-enabled/default ``` --- ## 🔍 四、测试配置并重启 Nginx ### 1. 测试配置是否正确 ```bash sudo nginx -t ``` 如果输出类似以下信息,表示配置正确: ``` nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful ``` ### 2. 重载 Nginx 配置 ```bash sudo systemctl reload nginx ``` --- ## 📁 五、部署静态网页 ### 1. 创建网站根目录 ```bash sudo mkdir -p /var/www/mywebsite ``` ### 2. 创建测试页面 ```bash sudo nano /var/www/mywebsite/index.html ``` 输入以下内容: ```html <!DOCTYPE html> <html> <head> <title>My Website</title> </head> <body> <h1>Welcome to My Website!</h1> </body> </html> ``` ### 3. 设置权限(可选) ```bash sudo chown -R www-data:www-data /var/www/mywebsite sudo chmod -R 755 /var/www ``` --- ## 🚀 六、配置 HTTPS(SSL/TLS) 要启用 HTTPS,你需要获取 SSL 证书(如 Let's Encrypt)。 ### 1. 安装 Certbot(Let's Encrypt 工具) ```bash sudo apt install certbot python3-certbot-nginx ``` ### 2. 自动配置 HTTPS ```bash sudo certbot --nginx ``` 按照提示操作即可自动配置 SSL 和重定向 HTTP 到 HTTPS。 > 注意:确保你的域名已解析到服务器 IP。 --- ## 📋 七、常用命令总结 | 命令 | 说明 | |------|------| | `nginx -v` | 查看 Nginx 版本 | | `systemctl status nginx` | 查看 Nginx 状态 | | `systemctl start nginx` | 启动 Nginx | | `systemctl stop nginx` | 停止 Nginx | | `systemctl restart nginx` | 重启 Nginx | | `nginx -t` | 测试配置文件语法 | | `certbot --nginx` | 自动配置 HTTPS | --- ## ✅ 八、常见问题排查 ### 1. 端口被占用 ```bash sudo netstat -tuln | grep 80 ``` ### 2. 配置错误 检查 `/var/log/nginx/error.log` ```bash sudo tail -f /var/log/nginx/error.log ``` ### 3. 权限问题 确保 Nginx 用户(通常是 `www-data`)对网站目录有读取权限。 --- ## 📘 九、进阶配置(可选) - **反向代理**:将请求转发到后端应用(如 Node.js、Tomcat) - **负载均衡**:使用 `upstream` 模块实现多台服务器负载 - **缓存**:使用 `proxy_cache` 提高性能 - **Gzip 压缩**:提升页面加载速度 - **日志管理**:自定义访问日志格式 --- 如果你需要更详细的某部分(如反向代理、HTTPS 配置、负载均衡等),欢迎继续提问!
下一篇:
nginx 导致文件上传中途中断 Failed to load resource: net::ERR_CONNECTION_RESET
标题录入,一次不能超过6条
留言
评论