ubuntu搭建web服务器详细步骤是怎样的?
- 云服务器
- 2025-12-21
- 5
在Ubuntu系统中搭建Web服务器是许多开发者和系统管理员的常见需求,本文将详细介绍基于Nginx的Web服务器搭建过程,包括环境准备、安装配置、安全设置及部署测试等环节,帮助读者完成从零到一的搭建工作。
环境准备
首先需要确保Ubuntu系统已更新至最新版本,打开终端执行以下命令更新软件包列表和已安装的包:
sudo apt update && sudo apt upgrade y
同时建议安装buildessential和libpcre3dev等编译工具,便于后续扩展安装:
sudo apt install buildessential libpcre3dev zlib1gdev y
安装Nginx
Nginx因其高性能和低资源消耗成为主流Web服务器选择,通过APT仓库安装可直接获得稳定版本:
sudo apt install nginx y
安装完成后启动Nginx服务并设置开机自启:

可通过systemctl status nginx检查服务状态,若显示active (running)则表示安装成功。
配置防火墙
Ubuntu默认使用UFW防火墙,需允许HTTP(80)和HTTPS(443)端口流量:
sudo ufw allow 'Nginx Full' sudo ufw reload
此时通过浏览器访问服务器公网IP,应能看到Nginx欢迎页面。
配置虚拟主机
虚拟主机实现多网站隔离,以配置example.com为例:

- 创建网站根目录: sudo mkdir p /var/www/example.com/html sudo chown R $USER:$USER /var/www/example.com/html sudo chmod R 755 /var/www/example.com/html
- 创建测试页面: echo "<h1>Welcome to example.com</h1>" > /var/www/example.com/html/index.html
- 创建Nginx配置文件: sudo nano /etc/nginx/sitesavailable/example.com
写入以下配置:
server { listen 80; server_name example.com www.example.com; root /var/www/example.com/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } - 启用配置并测试: sudo ln s /etc/nginx/sitesavailable/example.com /etc/nginx/sitesenabled/
sudo nginx t
若显示syntax is ok和test is successful,则重载Nginx:
sudo systemctl reload nginx
安装配置PHP(可选)
若需运行动态网页,可安装PHPFPM:
sudo apt install phpfpm phpmysql y
修改Nginx配置以支持PHP,在location /块中添加:

location ~ .php$ { include snippets/fastcgiphp.conf; fastcgi_pass unix:/var/run/php/php8.1fpm.sock; }
(注:PHP版本号可能因系统版本不同而变化,可通过php v查看)
重启PHPFPM和Nginx服务:
sudo systemctl restart php8.1fpm nginx
安全加固
- 禁用目录列表:在Nginx配置文件中添加autoindex off;
- 设置文件上传限制:在PHP配置中调整upload_max_filesize和post_max_size
- 配置SSL证书:使用Let’s Encrypt免费证书: sudo apt install certbot python3certbotnginx y
sudo certbot nginx d example.com d www.example.com
按提示选择HTTPS重定向即可实现全站加密。
部署测试
在本地电脑/etc/hosts文件中添加服务器IP与域名映射,访问http://example.com应显示自定义测试页面,若部署WordPress等CMS,需额外配置数据库和权限。
常见问题FAQs
Q1: 访问网站显示403 Forbidden错误怎么办?
A: 主要检查三个权限:
- 网站根目录权限应为755(sudo chmod 755 /var/www/example.com)
- HTML文件权限644(sudo chmod 644 /var/www/example.com/html/*)
- Nginx运行用户配置(/etc/nginx/nginx.conf中的user指令需与目录所有者一致)
Q2: 如何优化Nginx性能?
A: 可通过以下方式优化:
- 调整worker进程数:worker_processes auto;(根据CPU核心数设置)
- 启用GZIP压缩:在http块中添加: gzip on; gzip_types text/plain text/css application/json application/javascript text/xml;
- 配置缓存:在location块中添加expires 1d;设置浏览器缓存时间
- 限制连接数:通过limit_conn_zone和limit_conn指令控制并发连接数
通过以上步骤,即可完成Ubuntu下高性能Web服务器的搭建,后续可根据实际需求扩展负载均衡、反向代理等高级功能。