Nginx 是一个高性能的 HTTP 和反向代理服务器,也能作为邮件代理服务器。以下是一个基本的 Nginx 使用教程,涵盖了安装、配置以及一些常见的使用场景。
### 安装 Nginx
#### 在 Ubuntu 上安装 ```bash sudo apt update sudo apt install nginx ```
#### 在 CentOS 上安装 ```bash sudo yum install epel-release sudo yum install nginx ```
安装完成后,可以启动 Nginx 并设置开机自启: ```bash # 启动 Nginx sudo systemctl start nginx
# 设置开机启动 sudo systemctl enable nginx ```
### 基本配置
Nginx 的主要配置文件位于 `/etc/nginx/nginx.conf` 或者在 `/etc/nginx/conf.d/` 目录下的单独配置文件中。每个站点可以通过创建新的配置文件来定义。
例如,为一个新的网站创建配置文件 `/etc/nginx/sites-available/example.com`:
```nginx server { listen 80; server_name example.com;
location / { root /var/www/example.com; index index.html index.htm; } } ```
然后,创建一个符号链接到 `sites-enabled` 目录以启用该配置: ```bash sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ ```
检查配置是否有语法错误并重新加载 Nginx: ```bash sudo nginx -t sudo systemctl reload nginx ```
### 常见用法示例
1. **静态内容服务**:如上述例子所示,你可以指定一个目录来提供静态网页。
2. **反向代理**:将请求转发给另一个服务器。 ```nginx server { listen 80; server_name example.com;
location / { proxy_pass http://localhost:3000; # 转发至本地运行的应用 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ```
3. **负载均衡**:通过 upstream 模块分配流量。 ```nginx upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; }
server { location / { proxy_pass http://backend; } } ```
4. **SSL/TLS 配置**:使用 Let's Encrypt 获取免费证书,并配置 HTTPS。 ```nginx server { listen 443 ssl; server_name example.com;
ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem;
location / { # 配置你的应用或静态资源 } } ```
5. **日志管理**:配置访问日志和错误日志的位置及格式。 ```nginx access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ```
以上是 Nginx 的一些基础操作和配置示例,实际使用时可能需要根据具体需求调整配置。对于更复杂的场景,比如缓存、gzip 压缩等高级功能,可以参考[Nginx 官方文档](https://nginx.org/en/docs/)获取更多信息。
评论前必须登录!
注册