logo

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

作者:起个名字好难2025.10.10 15:45浏览量:0

简介:本文详解基于CentOS的轻量应用服务器部署全流程,涵盖服务器选型、环境配置、安全加固及网站发布,适合开发者及企业用户快速搭建稳定可靠的网站环境。

一、前期准备:服务器选型与系统安装

1.1 轻量应用服务器选型指南

选择轻量应用服务器时需关注三点:CPU核心数(建议2核起)、内存容量(推荐4GB以上)、网络带宽(优先选择支持弹性扩容的云服务商)。以某云平台为例,其基础型轻量服务器(2核4G 5M带宽)年费约300元,适合中小型网站。

1.2 CentOS系统镜像选择

推荐使用CentOS 7.9CentOS 8 Stream(需注意CentOS 8已停止维护)。下载镜像时需校验SHA256哈希值,例如:

  1. sha256sum CentOS-7-x86_64-Minimal-2009.iso

校验值应与官方公布值一致,避免使用修改版镜像。

1.3 服务器初始化配置

通过云平台控制台完成基础设置:

  • 修改root密码(建议16位以上包含大小写字母、数字及符号)
  • 配置安全组规则,开放必要端口:
    1. 22/TCPSSH
    2. 80/TCPHTTP
    3. 443/TCPHTTPS
    4. 3306/TCPMySQL,可选)
  • 绑定弹性公网IP,确保服务器可被外部访问

二、系统环境搭建与优化

2.1 系统更新与工具安装

执行全量更新并安装常用工具:

  1. yum update -y
  2. yum install -y wget curl vim net-tools epel-release

建议配置国内镜像源加速下载,例如阿里云镜像:

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  3. yum makecache

2.2 用户权限管理

创建专用运维用户并配置sudo权限:

  1. useradd -m -s /bin/bash webadmin
  2. passwd webadmin # 设置密码
  3. visudo /etc/sudoers # 添加行:webadmin ALL=(ALL) NOPASSWD:ALL

禁用root远程登录,修改/etc/ssh/sshd_config

  1. PermitRootLogin no
  2. PasswordAuthentication no # 推荐使用SSH密钥认证

重启SSH服务生效:

  1. systemctl restart sshd

2.3 防火墙配置

使用firewalld管理防火墙规则:

  1. systemctl start firewalld
  2. systemctl enable firewalld
  3. firewall-cmd --permanent --add-service={http,https,ssh}
  4. firewall-cmd --reload

如需开放特定端口(如8080):

  1. firewall-cmd --permanent --add-port=8080/tcp

三、Web服务部署实战

3.1 Nginx安装与配置

安装Nginx稳定版:

  1. yum install -y nginx
  2. systemctl start nginx
  3. systemctl enable nginx

配置虚拟主机示例(/etc/nginx/conf.d/example.com.conf):

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

测试配置并重载:

  1. nginx -t
  2. systemctl reload nginx

3.2 PHP环境搭建(可选)

安装PHP 7.4及常用扩展:

  1. yum install -y centos-release-scl
  2. yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd rh-php74-php-gd
  3. systemctl start rh-php74-php-fpm
  4. systemctl enable rh-php74-php-fpm

配置PHP-FPM监听Unix套接字(/etc/opt/rh/rh-php74/php-fpm.d/www.conf):

  1. listen = /run/php-fpm/www.sock
  2. listen.owner = nginx
  3. listen.group = nginx

3.3 MySQL数据库部署

安装MariaDB 10.5:

  1. yum install -y mariadb-server mariadb
  2. systemctl start mariadb
  3. systemctl enable mariadb

执行安全初始化:

  1. mysql_secure_installation

按提示设置root密码、移除匿名用户、禁止远程root登录等。

四、安全加固与性能优化

4.1 服务器安全防护

  • 安装Fail2Ban防止暴力破解:
    1. yum install -y fail2ban
    2. systemctl start fail2ban
    3. systemctl enable fail2ban
  • 配置SSH密钥认证:
    1. # 客户端生成密钥对
    2. ssh-keygen -t rsa -b 4096
    3. # 上传公钥到服务器
    4. ssh-copy-id webadmin@服务器IP

4.2 性能调优参数

修改/etc/sysctl.conf优化网络参数:

  1. net.core.somaxconn = 65535
  2. net.ipv4.tcp_max_syn_backlog = 65535
  3. net.ipv4.tcp_tw_reuse = 1

应用配置:

  1. sysctl -p

4.3 监控工具部署

安装htop和glances监控资源使用:

  1. yum install -y htop
  2. pip install glances # 需先安装pip

配置Node Exporter+Prometheus监控方案(适用于生产环境)。

五、网站发布与维护

5.1 代码部署流程

推荐使用Git进行版本管理:

  1. yum install -y git
  2. cd /var/www/html
  3. git clone https://github.com/yourrepo/website.git .

配置Webhook实现自动部署(需配合Nginx反向代理)。

5.2 备份策略制定

  • 每日全量备份:
    1. tar -czvf /backup/webdata_$(date +%Y%m%d).tar.gz /var/www/html
  • MySQL数据库备份:
    1. mysqldump -u root -p database_name > /backup/db_$(date +%Y%m%d).sql
  • 备份文件同步至云存储(如AWS S3或OSS)。

5.3 常见问题排查

  • 502错误:检查PHP-FPM进程是否运行,查看/var/log/nginx/error.log
  • 连接超时:使用netstat -tulnp检查端口监听状态
  • 性能瓶颈:通过topiostatvmstat定位资源占用

六、进阶部署方案

6.1 Docker容器化部署

安装Docker CE:

  1. yum install -y yum-utils
  2. yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. yum install -y docker-ce docker-ce-cli containerd.io
  4. systemctl start docker
  5. systemctl enable docker

部署WordPress容器示例:

  1. docker run -d --name wordpress \
  2. -e WORDPRESS_DB_HOST=db_host \
  3. -e WORDPRESS_DB_USER=user \
  4. -e WORDPRESS_DB_PASSWORD=password \
  5. -p 8080:80 \
  6. wordpress:latest

6.2 负载均衡配置

使用Nginx实现简单负载均衡(/etc/nginx/conf.d/loadbalance.conf):

  1. upstream backend {
  2. server 192.168.1.101:80;
  3. server 192.168.1.102:80;
  4. }
  5. server {
  6. listen 80;
  7. location / {
  8. proxy_pass http://backend;
  9. }
  10. }

七、总结与建议

  1. 定期更新:每周执行yum update修补安全漏洞
  2. 日志管理:配置logrotate防止日志文件过大
  3. 灾难恢复:每季度进行恢复演练,确保备份文件可用
  4. 成本优化:非生产环境可使用按需计费实例,生产环境建议选择预留实例

通过以上步骤,您可以在CentOS系统上快速搭建稳定可靠的轻量应用服务器。实际部署时建议先在测试环境验证配置,再迁移到生产环境。对于高并发场景,可考虑升级至Nginx+PHP-FPM+Redis的架构方案。

相关文章推荐

发表评论

活动