没有宝塔面板可以自己手动搭建网站吗?

当然可以。事实上,对于追求极致性能、安全性以及深度定制化的用户来说,手动搭建(Manual Setup) 往往是比使用宝塔面板更推荐的做法。宝塔本质上是 Nginx/Apache + PHP/MySQL 等组件的一键集成管理器,它虽然降低了门槛,但也引入了额外的资源开销和潜在的安全攻击面。

在 Linux 云服务器(如 CentOS, Ubuntu, Debian)上,手动搭建一个标准的 LAMP (Linux + Apache + MySQL/MariaDB + PHP) 或 LNMP (Linux + Nginx + MySQL/MariaDB + PHP) 环境是完全可行的,也是运维人员的核心技能之一。

以下是基于主流国内云厂商(阿里云、腾讯云等)常见系统的手动搭建逻辑与关键步骤:

一、 核心架构选择

  1. LNMP 模式(推荐):Nginx 作为 Web 服务器,处理静态文件能力极强,并发性能好;PHP-FPM 处理动态请求。这是目前最主流的建站架构。
  2. LAMP 模式:Apache 配合 mod_php 或 php-fpm。配置相对简单,但高并发下资源占用高于 Nginx。
  3. Docker 容器化部署(进阶):通过 Docker Compose 编排 Nginx、PHP、MySQL 服务。优势是环境隔离、迁移方便、版本管理清晰,适合团队协作。

二、 以 Ubuntu 22.04 为例,手动搭建 LNMP 环境

1. 更新系统并安装基础工具

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget git vim -y

2. 安装 Nginx

sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
# 检查状态
sudo systemctl status nginx

此时访问 http://<你的服务器IP> 应能看到 Nginx 欢迎页面。

3. 安装 MariaDB(MySQL 的开源分支,兼容性更好)

sudo apt install mariadb-server mariadb-client -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
# 运行安全脚本,设置 root 密码,移除测试数据库等
sudo mysql_secure_installation

4. 安装 PHP 及必要扩展

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
sudo systemctl enable php8.1-fpm  # 版本号可能因系统而异,请用 php -v 查看
sudo systemctl start php8.1-fpm

5. 配置 Nginx 与 PHP 关联

编辑站点配置文件,例如 /etc/nginx/sites-available/default:

server {
    listen 80;
    server_name your_domain.com; # 替换为你的域名或 IP
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    # 处理 PHP 请求
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 注意 socket 路径需与实际一致
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

重启 Nginx 使配置生效:

sudo nginx -t  # 测试配置语法
sudo systemctl reload nginx

6. 验证 PHP 是否工作

创建测试文件 /var/www/html/info.php:

<?php phpinfo(); ?>

访问 http://<你的服务器IP>/info.php,若能显示 PHP 信息页,则说明 LNMP 环境搭建成功。

7. 安全加固与 HTTPS(Let’s Encrypt)

手动搭建的最大优势在于你可以精细控制安全策略:

  • 防火墙:使用 ufw 或云厂商的安全组,仅开放 80/443 端口。
  • HTTPS:使用 Certbot 免费申请 SSL 证书。
    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d your_domain.com

三、 为什么选择手动搭建?

维度 宝塔面板 手动搭建
学习曲线 低,点击即可 高,需理解 Linux 命令、权限、配置文件
资源占用 较高(常驻进程多) 极低,按需启动服务
安全性 面板本身是攻击目标,若未修改默认端口易被扫描 无面板暴露面,攻击面小,权限控制更细
可移植性 依赖宝塔环境,迁移需导出备份 配置文件标准化,易于 Docker 化或迁移至其他服务器
故障排查 黑盒操作,出错难定位 日志清晰,问题可追溯

四、 注意事项与建议

  1. 权限管理:不要将网站目录设置为 777 权限。建议使用 www-data 用户运行 PHP-FPM,并将网站目录所有者设为该用户,权限设为 644(文件)和 755(目录)。
  2. 防火墙与安全组:务必在云厂商控制台配置安全组,并在服务器内部配置 iptables 或 ufw,避免非必要端口暴露。
  3. 定期备份:手动搭建意味着没有“一键备份”功能,你需要自行编写脚本或使用 mysqldump + rsync 定时备份数据库和网站文件。
  4. 监控告警:可使用 htop、netstat 或部署 Prometheus + Grafana 进行性能监控,替代宝塔自带的监控功能。

总结

手动搭建网站不仅可行,而且是掌握云计算核心技能的必经之路。它赋予你对系统的完全控制权,提升安全性和稳定性。如果你刚接触 Linux,建议先在虚拟机中练习,熟悉常用命令后再应用于生产环境的云服务器。

如需进一步帮助,可提供具体操作系统版本和所需软件栈,我可提供详细配置片段。

未经允许不得转载:CLOUD云枢 » 没有宝塔面板可以自己手动搭建网站吗?