Nginx简介
Nginx是一款高性能的开源 Web 服务器、反向代理服务器、负载均衡器和 HTTP 缓存工具。它由俄罗斯程序员伊戈尔・赛索耶夫(Igor Sysoev)于 2004 年首次公开发布,最初设计的目标是解决高并发场景下的性能瓶颈,如今已成为全球最流行的服务器软件之一,被 Netflix、Airbnb、GitHub、腾讯、阿里等众多大型企业广泛使用。
本文将详细介绍如何在 Ubuntu 系统中安装、配置并优化 Nginx,适合初学者入门参考。
一、安装 Nginx
Ubuntu 的官方软件仓库中已经包含了 Nginx,我们可以通过 APT 包管理器轻松安装。
更新系统包列表
首先确保系统包列表是最新的:sudo apt update安装 Nginx
执行以下命令安装 Nginx:sudo apt install nginx验证安装是否成功
安装完成后,Nginx 会自动启动。可以通过以下命令检查其运行状态:sudo systemctl status nginx
如果看到 "active (running)" 字样,说明 Nginx 已经成功启动。
- 配置防火墙
4.1 如果你的 Ubuntu 系统启用了 UFW 防火墙,需要允许 HTTP(80 端口)和 HTTPS(443 端口)流量:
sudo ufw allow 'Nginx Full'可以通过以下命令验证防火墙规则:
sudo ufw status4.2 如果你跟我一样,使用的是云服务器,那么只需要在安全组中开放80端口即可
二、Nginx的基本操作
掌握以下基本命令可以帮助你管理 Nginx 服务:
启动 Nginx:sudo systemctl start nginx
停止 Nginx:sudo systemctl stop nginx
重启 Nginx:sudo systemctl restart nginx
重新加载配置(不中断服务):sudo systemctl reload nginx
设置开机自启动:sudo systemctl enable nginx
禁止开机自启动:sudo systemctl disable nginx
三、Nginx 的配置文件结构
Nginx 的配置文件位于/etc/nginx目录下,主要文件和目录包括:
/etc/nginx/nginx.conf:主配置文件
/etc/nginx/sites-available/:存储所有网站的配置文件
/etc/nginx/sites-enabled/:存储启用的网站配置(通常是指向 sites-available 目录的软链接)
/etc/nginx/conf.d/:可以存放额外的配置片段
/etc/nginx/mime.types:定义 MIME 类型
这种结构允许我们为每个网站创建独立的配置文件,便于管理。
四、配置一个基本的 Web 站点
下面我们创建一个简单的 Web 站点配置:
创建网站目录
首先为网站创建一个目录,并设置适当的权限:sudo mkdir -p /var/www/example.com/html sudo chown -R $USER:$USER /var/www/example.com/html sudo chmod -R 755 /var/www创建测试页面
在网站目录下创建一个简单的 HTML 文件:nano /var/www/example.com/html/index.html添加以下内容:
预览
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>保存并关闭文件。
创建服务器配置文件
在sites-available目录下创建一个新的配置文件:sudo nano /etc/nginx/sites-available/example.com添加以下配置:
server {
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com; # 替换为你的域名或服务器 IP(如 1.2.3.4)
location / {
try_files $uri $uri/ =404;
}
}这个配置指定了:
监听 80 端口(HTTP)
网站文件根目录
默认索引文件
服务器域名
基本的请求处理规则
启用站点配置
通过创建软链接将配置文件链接到sites-enabled目录:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/检查配置文件语法
在应用配置之前,先检查语法是否正确:sudo nginx -t
如果输出 "nginx: configuration file /etc/nginx/nginx.conf test is successful",说明配置没有问题。
重新加载 Nginx
使配置生效:sudo systemctl reload nginx- 测试网站
如果你的域名已经解析到服务器 IP,现在可以通过浏览器访问http://example.com来查看效果。如果没有域名,可以修改本地hosts文件进行测试。
五、注意
如果访问80端口,显示Apache2默认页面,说明80端口被Apache服务器占用了,可以通过一下命令停止Apache服务器
sudo systemctl stop apache2再次访问就可以成功访问到我们部署的页面了

评论 (0)