文章推荐
1 作为程序员,开发用过最好用的AI工具有哪些?
2 Github Copilot正版的激活成功,终于可以chat了
3 idea,pycharm等的ai assistant已成功激活
4 新手如何拿捏 Github Copilot AI助手,帮助你提高写代码效率
5 Jetbrains的ai assistant已经激活成功,好用!
文章正文
Nginx 是一款高性能的开源 Web 服务器软件,它也可以用作反向代理服务器、负载均衡器和 HTTP 缓存等。以下是一个详细的 Nginx 教程,涵盖了 Nginx 的安装、基本配置、常用功能和性能优化等方面。
1. 安装 Nginx
Ubuntu / Debian:
bash
sudo apt update
sudo apt install nginx
CentOS / RHEL:
bash
sudo yum install epel-release
sudo yum install nginx
启动 Nginx 服务:
bash
sudo systemctl start nginx
设置 Nginx 开机启动:
bash
sudo systemctl enable nginx
2. 基本配置
Nginx 的主要配置文件是 /etc/nginx/nginx.conf
。下面是一个简单的 Nginx 配置示例:
nginx
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name example.com;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
}
}
3. 虚拟主机配置
Nginx 支持虚拟主机配置,可以用来托管多个网站。
nginx
http {
server {
listen 80;
server_name example.com;
root /var/www/example.com;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name anotherdomain.com;
root /var/www/anotherdomain.com;
location / {
try_files $uri $uri/ =404;
}
}
}
4. 反向代理配置
Nginx 可以用作反向代理服务器,将请求转发给后端服务器。
nginx
http {
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server;
}
}
}
5. 负载均衡配置
Nginx 可以用来实现负载均衡,将请求分发给多个后端服务器。
nginx
http {
upstream backend_servers {
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_servers;
}
}
}
6. HTTPS 配置
Nginx 可以配置 HTTPS,提供加密连接和安全传输。
nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
location / {
proxy_pass http://backend_server;
}
}
7. HTTP 缓存配置
Nginx 支持 HTTP 缓存,可以提高网站的性能。
nginx
http {
server {
listen 80;
server_name example.com;
location / {
proxy_cache cache_zone;
proxy_cache_valid 200 1h;
proxy_cache_key $request_uri;
proxy_pass http://backend_server;
}
}
}
8. 日志配置
Nginx 可以配置访问日志和错误日志。
nginx
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
}
9. 安全配置
Nginx 可以配置安全相关的设置,如限制请求速率、禁止访问敏感目录等。
nginx
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location / {
limit_req zone=one burst=5;
deny /admin;
}
}
}
10. 性能优化
Nginx 可以进行性能优化,如调整 worker_processes、worker_connections 和 keepalive_timeout 等参数。
nginx
worker_processes auto;
worker_connections 1024;
keepalive_timeout 65;
这些是 Nginx 的基础教程,覆盖了安装、基本配置、常用功能和性能优化等方面。随着你的使用和学习深入,你可以进一步探索 Nginx 的高级功能和更复杂的配置。