nginx配置大全:

简介
Nginx是一款高性能的HTTP和反向代理服务器,以其稳定性、安全性、高性能和低资源消耗而受到广泛的应用,本文将详细介绍Nginx的配置,包括基本配置、虚拟主机配置、缓存配置、安全配置等。
基本配置
安装Nginx
在Linux系统中,可以使用以下命令安装Nginx:
sudo apt-get update sudo apt-get install nginx
在Windows系统中,可以从Nginx官网下载安装包进行安装。
查看Nginx版本
nginx -v
查看Nginx配置文件
cat /etc/nginx/nginx.conf
启动Nginx
sudo systemctl start nginx
停止Nginx
sudo systemctl stop nginx
重启Nginx
sudo systemctl restart nginx
虚拟主机配置
创建虚拟主机配置文件

在/etc/nginx/sites-available/目录下创建一个新的配置文件,例如example.com.conf。
编辑虚拟主机配置文件
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}- 创建软链接到
/etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
重启Nginx使配置生效
sudo systemctl restart nginx
缓存配置
开启缓存
在nginx.conf文件中,找到http块,添加以下配置:
http {
...
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
...
}配置缓存区域
在server块中,添加以下配置:
location ~* .(jpg|jpeg|png|gif|ico)$ {
proxy_cache my_cache;
proxy_cache_revalidate on;
proxy_cache_min_uses 1;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
}安全配置
设置SSL证书
将SSL证书文件放置在/etc/nginx/ssl/目录下,例如example.com.crt和example.com.key。
配置SSL
在server块中,添加以下配置:

server {
...
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
...
}开启HTTP Strict Transport Security (HSTS)
在server块中,添加以下配置:
add_header Strict-Transport-Security "max-age=31536000" always;
FAQs
问题:如何查看Nginx的访问日志?
解答: 在Nginx的配置文件中,可以设置
access_log和error_log来记录访问日志和错误日志。server { ... access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ... }访问日志和错误日志会记录在指定的文件路径中。
问题:如何限制客户端访问频率?
解答: 可以使用Nginx的
limit_req模块来限制客户端的访问频率,在nginx.conf文件中配置limit_req_zone:http { ... limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s; ... }在需要限制的
server块中,添加以下配置:location / { limit_req zone=mylimit burst=5; ... }这样,客户端的访问频率将被限制为每秒1次,并且允许短时间内最多5次请求。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/119046.html




