logo

从零开始:搭建网站服务器超详细步骤——部署轻量应用服务器(Centos)

作者:渣渣辉2025.10.10 15:45浏览量:0

简介:本文详细介绍了如何基于CentOS系统在轻量应用服务器上搭建网站服务器的完整流程,涵盖服务器选购、环境配置、安全加固、服务部署等关键环节,适合开发者及企业用户参考。

一、前期准备:选择合适的轻量应用服务器

1.1 服务器类型与规格选择

轻量应用服务器(Lightweight Application Server)专为中小型网站、开发测试环境设计,具有成本低、部署快的特点。选择时需关注:

  • CPU/内存:入门级网站(如个人博客)建议1核2G,企业级应用需2核4G及以上;
  • 带宽:共享带宽适合低流量场景,独享带宽(如3-5Mbps)可保障高并发;
  • 存储:系统盘建议40GB以上,数据盘按实际需求扩容;
  • 地域:选择靠近目标用户的机房(如华东、华南),降低延迟。

1.2 操作系统安装

推荐使用CentOS 7/8 LTS版本,因其稳定性高、社区支持完善。安装时需注意:

  • 最小化安装:避免安装图形界面,减少资源占用;
  • 分区方案/(根目录)分配20-30GB,/home(数据目录)分配剩余空间,swap(交换分区)设为内存的1-2倍。

二、基础环境配置

2.1 系统更新与工具安装

  1. # 更新系统包
  2. sudo yum update -y
  3. # 安装常用工具
  4. sudo yum install -y wget curl vim net-tools

2.2 防火墙配置(Firewalld)

CentOS默认启用Firewalld,需开放HTTP/HTTPS端口:

  1. sudo firewall-cmd --permanent --add-service=http
  2. sudo firewall-cmd --permanent --add-service=https
  3. sudo firewall-cmd --reload

2.3 SSH安全加固

  • 禁用root远程登录
    1. sudo sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
    2. sudo systemctl restart sshd
  • 创建普通用户并授权
    1. sudo adduser deploy
    2. sudo passwd deploy
    3. sudo usermod -aG wheel deploy # CentOS 7
    4. sudo usermod -aG sudo deploy # CentOS 8

三、Web服务部署

3.1 安装Nginx

  1. # 添加EPEL仓库(CentOS 7)
  2. sudo yum install -y epel-release
  3. # 安装Nginx
  4. sudo yum install -y nginx
  5. # 启动服务
  6. sudo systemctl start nginx
  7. sudo systemctl enable nginx

3.2 配置虚拟主机

编辑/etc/nginx/conf.d/yourdomain.conf

  1. server {
  2. listen 80;
  3. server_name yourdomain.com;
  4. root /var/www/html;
  5. index index.html;
  6. location / {
  7. try_files $uri $uri/ =404;
  8. }
  9. }

重启Nginx生效:

  1. sudo systemctl restart nginx

3.3 部署PHP应用(可选)

安装PHP及常用扩展:

  1. sudo yum install -y php php-fpm php-mysqlnd php-gd
  2. # 启动PHP-FPM
  3. sudo systemctl start php-fpm
  4. sudo systemctl enable php-fpm

四、数据库配置

4.1 安装MySQL/MariaDB

  1. # CentOS 7默认使用MariaDB
  2. sudo yum install -y mariadb-server
  3. # 启动服务
  4. sudo systemctl start mariadb
  5. sudo systemctl enable mariadb
  6. # 运行安全脚本
  7. sudo mysql_secure_installation

4.2 创建数据库与用户

  1. CREATE DATABASE mydb;
  2. CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
  3. GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
  4. FLUSH PRIVILEGES;

五、安全加固与监控

5.1 配置Fail2Ban防暴力破解

  1. sudo yum install -y fail2ban
  2. sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  3. # 编辑jail.local,启用SSH防护
  4. [sshd]
  5. enabled = true
  6. port = ssh
  7. filter = sshd
  8. logpath = /var/log/secure
  9. maxretry = 3

重启服务:

  1. sudo systemctl restart fail2ban

5.2 安装监控工具(如htop、Glances)

  1. sudo yum install -y htop
  2. sudo yum install -y epel-release # 若未安装EPEL
  3. sudo yum install -y glances

六、备份与灾备方案

6.1 定期备份网站文件与数据库

  1. # 备份网站目录
  2. sudo tar -czf /backup/website_$(date +%Y%m%d).tar.gz /var/www/html
  3. # 备份MySQL数据库
  4. sudo mysqldump -u myuser -p mydb > /backup/db_$(date +%Y%m%d).sql

6.2 配置自动化备份(Cron)

编辑/etc/crontab,添加每日备份任务:

  1. 0 2 * * * root /usr/bin/tar -czf /backup/website_$(date +\%Y\%m\%d).tar.gz /var/www/html
  2. 1 2 * * * root /usr/bin/mysqldump -u myuser -p'password' mydb > /backup/db_$(date +\%Y\%m\%d).sql

七、常见问题排查

7.1 Nginx 502错误

  • 检查PHP-FPM是否运行:sudo systemctl status php-fpm
  • 查看Nginx错误日志sudo tail -f /var/log/nginx/error.log

7.2 数据库连接失败

  • 确认MySQL服务状态:sudo systemctl status mariadb
  • 检查防火墙是否放行3306端口:sudo firewall-cmd --list-ports

八、性能优化建议

  • 启用Gzip压缩:在Nginx配置中添加:
    1. gzip on;
    2. gzip_types text/plain text/css application/json application/javascript text/xml;
  • 配置OPcache加速PHP:编辑/etc/php.ini,设置:
    1. opcache.enable=1
    2. opcache.memory_consumption=128

总结

通过以上步骤,您已成功在CentOS轻量应用服务器上部署了完整的网站环境。后续可根据需求扩展功能(如部署WordPress、配置HTTPS证书等)。建议定期更新系统补丁、监控资源使用情况,并制定完善的备份策略,以确保服务稳定性。

相关文章推荐

发表评论

活动