菜鸟科技网

如何在服务器上搭建站点

Web服务器软件(如Nginx/Apache),配置域名解析与虚拟主机,部署站点文件至指定目录,启动服务

前期准备

选择操作系统

主流推荐:Ubuntu/CentOS(稳定性高,社区支持丰富);Windows Server(适合熟悉图形界面的用户),本文以Linux为例。

如何在服务器上搭建站点-图1
(图片来源网络,侵删)
  • 确认服务器已安装基础环境: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
(图片来源网络,侵删)

✅ 方案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权限!可能导致安全漏洞。

如何在服务器上搭建站点-图3
(图片来源网络,侵删)

配置虚拟主机(多站点共存)

编辑配置文件实现不同域名绑定到不同目录:

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 apache2systemctl 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
    该命令会重新加载配置文件而不断开现有连接,适合生产环境灰度发布
分享:
扫描分享到社交APP
上一篇
下一篇