嘿,朋友!想在你的 Ubuntu 22.04 服务器上搭建一个网站吗?Nginx 是一个非常棒的选择,它以高性能和稳定性著称,无论是个人博客还是大型商业网站,都能轻松应对。
这篇教程会像聊天一样,一步步带你安装和配置好 Nginx。别担心,我们准备了详细的代码和案例,保证你轻松上手!
第一步:准备工作,更新你的系统
在安装任何新软件之前,我们都应该先更新一下系统的软件包列表,确保我们用的是最新的软件源。这就像是做饭前要先洗菜一样,是个好习惯。
打开你的终端,输入下面的命令:
sudo apt update
接着,执行升级命令:
sudo apt upgrade
系统会提示你将要更新哪些软件包,按 Y 确认就行。
第二步:安装 Nginx
好了,准备工作做完了,现在我们来安装 Nginx。Ubuntu 的默认软件库里就有 Nginx,所以安装起来特别简单,一条命令就搞定。
sudo apt install nginx
安装过程中,系统会问你是否要继续,同样输入 Y 然后回车。很快,Nginx 就会安装在你的服务器上了。
第三步:配置防火墙,让网站能被访问
你的服务器上很可能跑着一个叫 UFW (Uncomplicated Firewall) 的防火墙。为了让外面的用户能访问到你的网站,我们需要给 Nginx 开个“绿灯”。
Nginx 在安装时,会自动向 UFW 注册几个应用配置,我们可以用下面的命令查看一下:
sudo ufw app list
你会看到类似这样的输出:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
- Nginx Full: 同时允许 HTTP (端口 80) 和 HTTPS (端口 443) 的流量。
- Nginx HTTP: 只允许 HTTP (端口 80) 的流量。
- Nginx HTTPS: 只允许 HTTPS (端口 443) 的流量。
一般来说,我们推荐使用最严格的规则。如果你的网站还没配置 SSL 证书,就先只允许 HTTP 流量。
sudo ufw allow 'Nginx HTTP'
然后,检查一下防火墙的状态,确保规则已经生效了:
sudo ufw status
如果看到 Nginx HTTP 后面是 ALLOW,那就说明配置成功了!
第四步:检查 Nginx 是否在运行
安装完成后,Ubuntu 22.04 通常会自动启动 Nginx 服务。 我们可以用下面的命令来确认一下它的状态:
sudo systemctl status nginx
如果你看到 active (running) 的字样,那就说明 Nginx 正在欢快地运行着。
(这是一个示例图片链接,实际输出会是文本)
现在,打开你的浏览器,在地址栏输入你服务器的 IP 地址。如果一切顺利,你应该能看到一个欢迎页面,上面写着 “Welcome to nginx!”。 这表明 Nginx 已经成功安装并可以从网络上访问了。
不知道服务器 IP 地址?试试这个命令:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
第五步:管理 Nginx 服务
学会管理 Nginx 服务非常重要,这里有几个你必须知道的命令:
停止 Nginx 服务:
sudo systemctl stop nginx启动 Nginx 服务:
sudo systemctl start nginx重启 Nginx 服务:
sudo systemctl restart nginx重新加载配置 (推荐): 当你修改了配置文件后,用这个命令可以让 Nginx 在不中断服务的情况下应用新配置。
sudo systemctl reload nginx设置开机自启:
sudo systemctl enable nginx
第六步:实战案例 - 配置你自己的网站 (Server Blocks)
只显示默认页面当然不够,我们来配置一个属于自己的网站。在 Nginx 中,这叫做“服务器块” (Server Blocks),它允许你在同一台服务器上托管多个网站。
1. 创建网站目录
首先,我们为你的网站创建一个新的目录。通常我们把它放在 /var/www/ 目录下。假设你的域名是 your_domain.com:
sudo mkdir -p /var/www/your_domain.com/html
2. 创建一个示例页面
接下来,我们在这个新目录里创建一个简单的 HTML 文件作为网站首页。
sudo nano /var/www/your_domain.com/html/index.html
在打开的编辑器里,粘贴下面的 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<title>欢迎来到我的网站!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>太棒了! 我的 Nginx 网站正常工作!</h1>
<p>如果你看到了这个页面,说明你已经成功配置了 Nginx 服务器块。</p>
</body>
</html>
按 Ctrl+X,然后按 Y 和 Enter 保存并关闭文件。
3. 创建服务器块配置文件
现在,我们需要为这个网站创建一个新的 Nginx 配置文件。
sudo nano /etc/nginx/sites-available/your_domain.com
然后,把下面的配置代码粘贴进去。记得把 your_domain.com 换成你自己的域名。
server {
listen 80;
listen [::]:80;
root /var/www/your_domain.com/html;
index index.html index.htm index.nginx-debian.html;
server_name your_domain.com www.your_domain.com;
location / {
try_files $uri $uri/ =404;
}
}
配置解析:
-
listen 80;: 监听 IPv4 的 80 端口。 -
listen [::]:80;: 监听 IPv6 的 80 端口。 -
root /var/www/your_domain.com/html;: 指定网站文件的根目录。 -
index index.html ...;: 定义默认的索引文件。 -
server_name your_domain.com www.your_domain.com;: 匹配用户的请求域名。 -
location / { ... }: 定义如何处理进来的请求。
4. 启用新的服务器块
配置文件创建好了,但 Nginx 还不知道它。我们需要在 sites-enabled 目录里创建一个指向它的“快捷方式”(符号链接),来告诉 Nginx 加载这个配置。
sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
5. 测试并重启 Nginx
在重启 Nginx 让配置生效之前,最好先检查一下配置文件有没有语法错误。这是一个非常重要的好习惯!
sudo nginx -t
如果你看到这样的信息,说明一切正常:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最后,重启 Nginx 来应用所有更改:
sudo systemctl restart nginx
现在,再次访问你的服务器 IP 地址或者你的域名 http://your_domain.com,你就应该能看到你刚刚创建的那个漂亮的欢迎页面了!
总结
恭喜你!你已经成功在 Ubuntu 22.04 上安装并配置了 Nginx,还为自己的网站设置了一个独立的服务器块。从这里开始,你就可以上传你真正的网站文件,开始你的建站之旅了。Nginx 的功能远不止这些,它还可以用作反向代理、负载均衡等等,等待你去探索!