# Linux系统如何安装使用Nginx
## 一、Nginx简介
Nginx(发音为"engine-x")是一款高性能的开源Web服务器,同时也可作为反向代理服务器、负载均衡器和HTTP缓存使用。相较于传统Apache服务器,Nginx采用事件驱动的异步架构,能够高效处理高并发连接,特别适合现代高流量网站。
## 二、安装前的准备
1. **系统要求**
- 主流Linux发行版(Ubuntu/Debian/CentOS等)
- 至少512MB内存(生产环境建议1GB以上)
- root或sudo权限用户
2. **环境准备**
```bash
# 更新系统软件包
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
Ubuntu/Debian系统:
sudo apt install nginx -y
CentOS/RHEL系统:
sudo yum install epel-release -y
sudo yum install nginx -y
# 安装编译依赖
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev -y
# 下载源码(以1.25.3版本为例)
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
# 编译安装
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module
make && sudo make install
启动/停止/重启
sudo systemctl start nginx # 启动
sudo systemctl stop nginx # 停止
sudo systemctl restart nginx # 重启
sudo systemctl reload nginx # 平滑重载配置
设置开机自启
sudo systemctl enable nginx
验证安装
curl -I 127.0.0.1
# 应返回类似:
# HTTP/1.1 200 OK
# Server: nginx/1.25.3
Nginx主要配置文件位于:
- /etc/nginx/nginx.conf
(主配置文件)
- /etc/nginx/sites-available/
(虚拟主机配置)
- /etc/nginx/sites-enabled/
(启用的虚拟主机)
典型配置示例:
server { listen 80; server_name example.com; root /var/www/html; location / { index index.html; } location /api { proxy_pass http://localhost:3000; } }
server {
listen 80;
server_name mysite.com;
root /var/www/mysite;
index index.html;
}
location / {
proxy_pass http://backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
upstream backend {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
server {
location / {
proxy_pass http://backend;
}
}
禁用服务器标识
server_tokens off;
配置SSL证书(Let’s Encrypt示例)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
限制访问
location /admin { allow 192.168.1.0/24; deny all; }
Nginx日志默认位置:
- 访问日志:/var/log/nginx/access.log
- 错误日志:/var/log/nginx/error.log
使用工具分析:
# 统计访问量前10的IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10
调整worker进程数
worker_processes auto; # 通常设置为CPU核心数
启用gzip压缩
gzip on; gzip_types text/plain text/css application/json;
调整缓冲区大小
client_body_buffer_size 10K; client_header_buffer_size 1k;
端口冲突
sudo netstat -tulnp | grep :80
权限问题
sudo chown -R www-data:www-data /var/www
测试配置文件
sudo nginx -t
通过本文介绍,您应该已经掌握了Nginx的安装、基本配置和常见用法。建议在生产环境部署前,先在测试环境充分验证配置。更多高级功能可参考Nginx官方文档。 “`
注:实际字数约1100字,可根据需要调整具体章节的详细程度。文中命令适用于大多数现代Linux发行版,个别操作可能需要根据具体系统版本微调。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。