Web服务器软件(如Nginx/Apache),配置域名解析与虚拟主机,部署站点文件至指定目录,启动服务
前期准备
选择操作系统
主流推荐:Ubuntu/CentOS(稳定性高,社区支持丰富);Windows Server(适合熟悉图形界面的用户),本文以Linux为例。

- 确认服务器已安装基础环境:SSH工具(如PuTTY或终端)、更新系统包(
sudo apt update && upgrade
for Ubuntu)。
域名与DNS解析(可选但建议)
若需通过域名访问站点,需完成以下步骤:
| 步骤 | 操作内容 | 示例 |
|------|----------|------|
| 注册域名 | 在阿里云/酷盾安全等平台购买域名 | example.com
|
| 添加A记录 | 将域名指向服务器公网IP | IP地址填写服务器外网IP |
安装Web服务器软件
根据需求选择以下任意一种方案:
✅ 方案1:Apache HTTP Server(灵活配置)
# Ubuntu/Debian系统 sudo apt install apache2 -y # CentOS/RHEL系统 sudo yum install httpd -y
启动服务并设置开机自启:
sudo systemctl start apache2 # Ubuntu sudo systemctl enable apache2 # Ubuntu # OR CentOS: sudo systemctl start httpd sudo systemctl enable httpd
默认根目录为 /var/www/html
,测试页面路径为 http://<服务器IP>/index.html
。

✅ 方案2:Nginx(高性能、低资源占用)
# Ubuntu/Debian sudo apt install nginx -y # CentOS/RHEL sudo yum install epel-release -y && sudo yum install nginx -y
启动命令同上,默认站点目录为 /usr/share/nginx/html
。
✅ 方案3:LiteSpeed Web Server(抗DDoS优化版)
兼容常见Apache配置文件,性能更优:
sudo apt install lsb-core -y # Ubuntu
部署网站内容
上传文件到服务器
方法①:使用rsync
同步本地文件夹到远程服务器;
方法②:通过FTP客户端(如FileZilla)连接后拖拽上传;
方法③:直接编辑服务器内文件(适用于静态网页):
nano /var/www/html/index.html # 修改首页内容 echo "Hello World!" > /var/www/html/test.txt
权限管理关键规则
路径 | 所属用户 | 权限模式 | 作用说明 |
---|---|---|---|
/var/www/html | www-data | drwxr-xr-x (755) | Web进程可读不可写 |
自定义日志目录 | www-data | rwx-----(700) | 确保仅允许写入日志 |
⚠️ 警告:避免赋予777权限!可能导致安全漏洞。

配置虚拟主机(多站点共存)
编辑配置文件实现不同域名绑定到不同目录:
Apache示例(修改/etc/apache2/sites-available/000-default.conf
):
<VirtualHost :80> ServerName site1.example.com DocumentRoot /var/www/site1_files ErrorLog ${APACHE_LOG_DIR}/site1_error.log </VirtualHost>
执行命令使配置生效:
sudo a2ensite site1.conf && sudo systemctl restart apache2
Nginx示例(新建/etc/nginx/conf.d/mysite.conf
):
server { listen 80; server_name blog.example.com; root /data/websites/blog; location / { index index.php; try_files $uri $uri/ =404; } }
重启服务:sudo systemctl restart nginx
。
启用HTTPS加密访问(必选安全项)
通过Let’s Encrypt免费证书实现:
sudo apt install snapd -y # 安装Snap工具 sudo snap install core; sudo snap refresh core sudo snap remove core # 清理旧版本冲突 sudo snap install --classic certbot # 安装Certbot客户端 sudo certbot certonly --standalone -d example.com # 自动获取证书
成功后续会自动修改Nginx/Apache配置,强制HTTP→HTTPS跳转,验证是否生效:访问https://example.com
应显示绿色锁图标。
高级功能扩展建议
需求类型 | 推荐技术栈 | 典型应用场景 |
---|---|---|
动态数据库交互 | LAMP(Linux+Apache+MySQL+PHP)/LNMP | WordPress博客、论坛系统 |
Python后端开发 | Django+Gunicorn+Nginx | AI绘图接口、数据分析面板 |
Node.js实时应用 | Express.js + PM2管理器 | WebSocket聊天室、协作工具 |
容器化部署 | Docker Compose | 微服务架构快速扩容 |
常见问题与解答(FAQ)
Q1: “无法访问网站,浏览器报‘Connection refused’错误怎么办?”
✅ 排查步骤:
1️⃣ 检查服务状态:systemctl status apache2
或systemctl status nginx
确认是否正在运行;
2️⃣ 防火墙开放端口:执行sudo ufw allow 'WWW Full'
(允许80/443端口);云厂商控制台也要放行入方向流量;
3️⃣ SELinux策略临时禁用测试:sudo setenforce 0
(仅用于故障诊断)。
Q2: “如何在不重启服务的情况下更新配置?”
✅ 平滑重启命令:
- Apache:
sudo systemctl reload apache2
- Nginx:
sudo systemctl reload nginx
该命令会重新加载配置文件而不断开现有连接,适合生产环境灰度发布