菜鸟科技网

网站宝搭建网站环境

系统选择与准备

操作系统推荐

类型 适用场景 优势特点
CentOS/RHEL 企业级生产环境 稳定性强、社区支持完善
Ubuntu 快速部署 & 新手友好 包管理便捷(APT)、文档丰富
Debian 高安全性需求 严格的依赖控制与漏洞修复及时性

💡 建议方案:优先选择 LTS(长期支持版),如 Ubuntu Server 22.04 LTS,兼顾稳定性和新功能迭代。

网站宝搭建网站环境-图1
(图片来源网络,侵删)

基础环境配置步骤

1 安装Web服务器软件

根据需求任选以下一种或组合使用:

  • Apache HTTP Server
    • 命令示例:sudo apt install apache2
    • 配置文件路径:/etc/apache2/sites-available/
  • Nginx
    • 命令示例:sudo apt install nginx
    • 默认站点配置:/etc/nginx/sites-enabled/default
  • LiteSpeed Web Application Firewall (WAF)

    高性能替代方案,支持抗DDoS攻击防护

📌 端口冲突排查:若遇到“Address already in use”,可通过 netstat -tulnp | grep :80 检查占用进程并终止(如 kill -9 PID)。

2 PHP运行环境搭建

组件 作用说明 安装命令(Ubuntu为例)
PHP-FPM FastCGI进程管理器 sudo apt install php-fpm
OpCache Zend引擎字节码缓存加速 sudo apt install php-opcache
扩展模块 根据框架需求加载(如MySQLi、GD库等) sudo apt install php-{mysql,gd}

⚠️ 版本兼容性注意:确保PHP版本≥目标项目要求的最低标准(例如Laravel需PHP≥7.4)。

网站宝搭建网站环境-图2
(图片来源网络,侵删)

3 数据库服务部署

数据库类型 典型应用场景 初始化脚本示例
MySQL/MariaDB WordPress、Discuz!等CMS系统 CREATE DATABASE dbname; GRANT ALL PRIVILEGES ON dbname. TO 'user'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
PostgreSQL Django、Ruby on Rails应用 createdb mydb; psql -c "ALTER USER postgres PASSWORD 'newpass';"
Redis 缓存会话存储(非关系型) redis-server --appendonly yes

🔧 优化建议:为MySQL设置最大连接数限制(修改 my.cnf 中的 max_connections=200)。


域名解析与SSL证书申请

1 A记录绑定公网IP

登录域名注册商后台,添加两条A记录:

  • @ → 服务器主IP(如192.168.1.100)
  • www → 同一IP地址

2 Let’s Encrypt免费SSL部署

使用Certbot工具自动签发证书:

sudo apt install certbot python3-certbot-nginx  # Nginx插件版
sudo certbot certonly --nginx -d example.com -d www.example.com

自动续期机制:Certbot默认每60天通过系统定时任务更新证书。

网站宝搭建网站环境-图3
(图片来源网络,侵删)

文件上传与权限管理

1 Web根目录结构规划

/var/www/html/
├── public          # 静态资源存放区(CSS/JS/images)
├── uploads         # 用户提交文件存储路径(需设置写权限)
└── logs            # 访问日志归档目录(建议每日轮转)

2 权限控制策略表

路径 所有者 所属组 权限模式 备注说明
/var/www/html www-data www-data drwxr-xr-x 确保Web服务器可读不可执行
/var/log/nginx/ root adm rw-r--r-- 仅允许管理员查看错误日志
/etc/letsencrypt/live/ root root drwx------ SSL私钥文件严格保密

🛡️ 安全加固技巧:禁用危险PHP函数(编辑 php.ini 添加 disable_functions = system,exec,passthru)。


常见问题与解答(Q&A)

Q1: 网站打开显示“403 Forbidden”怎么办?

A: 此错误通常由以下原因导致:

  1. 文件权限不足 → 执行 chmod -R 755 /path/to/site
  2. SELinux拦截 → 临时关闭验证:getenforce → setenforce 0
  3. .htaccess规则冲突 → 检查是否有Deny from all指令。

Q2: 如何实现多站点共存?

A: 以Nginx为例,通过server_name区分不同域名:

server {
    listen 80;
    server_name site1.com;
    root /var/www/site1;
    index index.html;
}
server {
    listen 80;
    server_name site2.org;
    root /var/www/site2;
    return 301 https://$host$request_uri; # 强制HTTPS跳转
}

重启服务使配置生效:`sudo systemctl restart nginx

分享:
扫描分享到社交APP
上一篇
下一篇