简介:设置 Ubuntu 服务器以托管网站和 Web 应用程序
Ubuntu Server 是一款强大而灵活的操作系统,深受开发人员和系统管理员信赖,广泛用于托管和 Web 应用程序部署。无论您是搭建服务器来托管网站、管理基于云的服务,还是部署现代 Web 应用程序,Ubuntu Server 都能提供您成功所需的可靠性、可扩展性和工具。
在本指南中,我们将带您完成为托管和 Web 应用程序环境配置 Ubuntu 服务器的基本步骤。从搭建 Web 服务器(Apache 或 Nginx),到使用 SSL 保护您的网站,再到针对生产环境优化性能,本文将帮助您构建一台功能完备的服务器,随时满足您的托管和应用程序需求。
往期文章:
01. Ubuntu Server 简介 – SysOSX: AI & Cloud
02. 如何搭建您的第一台 Ubuntu 服务器:初学者指南 – SysOSX: AI & Cloud
03.精通 Ubuntu Server 的 Linux 命令行 – SysOSX: AI & Cloud
04. 在 Ubuntu Server 上管理用户和权限:综合指南 – SysOSX: AI & Cloud
05. Ubuntu Server 网络基础:综合指南 – SysOSX: AI & Cloud
06. 在 Ubuntu Server 上安装和管理软件:完整指南 – SysOSX: AI & Cloud
07.Ubuntu Server 的补丁与更新:综合指南 – SysOSX: AI & Cloud
08. 保护您的 Ubuntu 服务器:加固与防护的实用步骤 – SysOSX: AI & Cloud
10. Ubuntu Server 系统监控工具:综合指南 – SysOSX: AI & Cloud
11. Ubuntu 服务器集中式日志记录:必读指南 – SysOSX: AI & Cloud
12. Ubuntu Server 审计与合规:最佳实践 – SysOSX: AI & Cloud
📋 先决条件清单
- Ubuntu Server 22.04 LTS(或更新版本)
- 具有 sudo 权限的终端访问
- 域名(建议用于 SSL)
- 基本的 Linux 命令知识
- 最少 1GB 内存(建议 2GB)
🛠 初始服务器设置
# Update system packages
sudo apt update && sudo apt upgrade -y
# Install essential tools
sudo apt install -y curl wget
🔥 防火墙配置
| 服务 | 允许的端口 | 命令 |
|---|---|---|
| Apache | 80, 443 | sudo ufw allow 'Apache Full' |
| Nginx | 80, 443 | sudo ufw allow 'Nginx Full' |
| SSH | 22 | sudo ufw allow OpenSSH |
启用防火墙: sudo ufw enable
🌐 Web 服务器比较
| 特性 | Apache | Nginx |
|---|---|---|
| 架构 | 进程驱动 | 事件驱动 |
| 最适合 | 传统 Web 应用 | 高流量/静态内容 |
| 配置语法 | .htaccess 文件 | 服务器块 |
| 性能 | 良好 | 优秀 |
| SSL 设置 | mod_ssl | OpenSSL |
🐧 Apache 设置指南
1. 安装 Apache
sudo apt install apache2 -y
2. 虚拟主机配置
文件: /etc/apache2/sites-available/yourdomain.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName yourdomain.com
DocumentRoot /var/www/yourdomain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用配置:
sudo a2ensite yourdomain.conf
sudo systemctl reload apache2
🚀 Nginx 设置指南
1. 安装 Nginx
sudo apt install nginx -y
2. 服务器块配置
文件: /etc/nginx/sites-available/yourdomain
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain;
location / {
try_files $uri $uri/ =404;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/yourdomain /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
🔒 使用 Let’s Encrypt 设置 SSL
对于 Apache:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache --agree-tos -m [email protected] -d yourdomain.com
对于 Nginx:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx --agree-tos -m [email protected] -d yourdomain.com
自动续期测试:
sudo certbot renew --dry-run
🧪 验证测试
- HTTP 状态检查:
curl -I http://yourdomain.com - SSL 验证:
openssl s_client -connect yourdomain.com:443 - 服务器标头检查:
curl -I | grep "Server"
🚨 故障排除技巧
- 权限问题:
sudo chown -R www-data:www-data /var/www/yourdomain - 端口冲突:
sudo lsof -i :80 - 配置错误:
sudo journalctl -xe - SSL 续期:
sudo certbot renew --force-renewal
📚 重要资源
💡 专业技巧
- 使用
systemd进行服务管理:
sudo systemctl [start|stop|restart|status] apache2/nginx
- 启用 HTTP/2 以获得更好的性能
- 使用以下工具设置自动备份:
rsync - 使用以下工具监控流量:
goaccess或ngxtop
最终建议:
对于大多数用户,Nginx 开箱即用性能更好,而 Apache 则通过 .htaccess 文件提供更大的灵活性。请根据您的具体应用需求进行选择。
敬请期待下一篇文章
在下一篇文章中,我们将深入探讨 在单个 Ubuntu 服务器上托管多个网站! 在单个 Ubuntu 服务器上托管多个网站 对于开发人员、小型企业和爱好者来说是一种经济高效的解决方案。在下一篇文章中,我将引导您设置 虚拟主机 ,即在 Apache 和 Nginx 中进行配置,以便在同一服务器上托管多个网站。
3 thoughts on “13.Setting Up Your Ubuntu Server for Hosting and Web Applications: Ultimate Guide”