Nginx是一款高性能的HTTP和反向代理服务器,特点是占用内存少、并发能力强,常用于: - 静态网站服务器 - 反向代理和负载均衡 - API网关 - 缓存服务器
# Ubuntu/Debian
sudo apt update
sudo apt install nginx
# CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx
# 启动Nginx
sudo systemctl start nginx
sudo systemctl enable nginx
Nginx配置文件通常位于:
- /etc/nginx/nginx.conf
(Linux)
- conf/nginx.conf
(Windows解压目录)
# 全局配置
user www-data;
worker_processes auto;
error_log /var/log/nginx/error.log;
events {
worker_connections 1024;
}
http {
# HTTP相关配置
include /etc/nginx/mime.types;
server {
# 虚拟主机配置
listen 80;
server_name example.com;
location / {
# URL路径配置
root /var/www/html;
index index.html;
}
}
}
server {
listen 80;
server_name yourdomain.com;
location / {
root /var/www/yourdomain;
index index.html;
}
# 禁止访问.git目录
location ~ /\.git {
deny all;
}
}
server {
listen 80;
server_name api.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
server backend3.example.com backup;
}
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://backend;
}
}
server {
listen 443 ssl;
server_name secure.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
root /var/www/secure;
index index.html;
}
}
# HTTP重定向到HTTPS
server {
listen 80;
server_name secure.yourdomain.com;
return 301 https://$host$request_uri;
}
# 检查配置语法
nginx -t
# 重新加载配置(不中断服务)
nginx -s reload
# 停止服务
nginx -s stop
# 优雅停止(处理完当前请求)
nginx -s quit
查看访问日志:
tail -f /var/log/nginx/access.log
查看错误日志:
tail -f /var/log/nginx/error.log
测试特定配置:
nginx -t -c /path/to/your/nginx.conf
通过以上配置,你可以快速搭建起一个高性能的Web服务器。Nginx配置灵活强大,建议从简单配置开始,逐步深入学习更高级的功能。