完整的nginx配置
时间: 2024-09-20 09:15:24 浏览: 46
Nginx的完整配置通常包括基本的监听、目录结构、请求处理、安全和性能优化等方面。以下是一个基础的Nginx配置示例,你可以根据实际需求进行定制:
```nginx
server {
# 服务器名称
listen 80; # 或者443(SSL/TLS)
server_name example.com www.example.com;
# 网站根目录
root /var/www/example.com/public_html;
# 访问控制和默认页面
index index.html index.htm default.html default.htm;
# log设置
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log info;
# 强制HTTPS
if ($scheme = http) {
return 301 https://$host$request_uri;
}
# SSL证书配置(如果有)
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
# 禁止目录遍历
autoindex off;
# 防火墙规则
allow all;
deny all;
allow 127.0.0.1;
allow your_allowed_ips; # 根据需要替换
# 增强安全性
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
# 静态资源缓存
location ~* \.(css|js|jpg|jpeg|gif|png)$ {
expires 360d;
}
# PHP-FPM支持(假设已经安装)
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
}
# 简单的URL重定向或自定义处理
location /custom-endpoint {
try_files $uri $uri/ =404;
}
}
# 邮件服务器配置(如果需要)
location = /mail {
proxy_pass smtp:587;
}
# 更多位置块,比如API,视频流等,可根据需要添加
```
阅读全文