从零开始:搭建网站服务器超详细步骤——部署轻量应用服务器(Centos)
2025.10.10 15:45浏览量:2简介:本文详细介绍如何通过CentOS系统在轻量应用服务器上搭建网站服务器,涵盖环境准备、安全配置、服务部署及监控维护全流程,适合初学者与开发者参考。
从零开始:搭建网站服务器超详细步骤——部署轻量应用服务器(CentOS)
一、环境准备与服务器选购
1.1 轻量应用服务器选择
轻量应用服务器(Lightweight Application Server)是专为小型网站、开发测试等场景设计的云服务器,具有资源独享、成本低廉的特点。选择时需关注:
- 配置参数:建议选择至少1核2G内存、50GB系统盘的配置,可满足基础WordPress或静态网站需求。
- 带宽与流量:根据预期访问量选择带宽(如3-5Mbps),注意流量包是否充足。
- 地域选择:优先选择靠近目标用户群体的机房,降低延迟。
1.2 CentOS系统安装
购买服务器后,通过控制台选择CentOS 8或CentOS Stream 9镜像(CentOS 8已停止维护,推荐使用Stream版本)。安装过程需注意:
- 分区方案:采用LVM分区,/boot分配2GB,/分配剩余空间,/swap分配内存的1.5倍(如2G内存服务器分配3GB)。
- 安全设置:安装时禁用SELinux(临时通过
setenforce 0,永久修改/etc/selinux/config中的SELINUX=disabled),减少初期调试障碍。
二、基础环境配置
2.1 网络与防火墙设置
静态IP配置:
# 编辑网络配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0# 修改以下参数BOOTPROTO=staticIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=8.8.8.8# 重启网络服务systemctl restart network
防火墙规则:
# 安装firewalldyum install firewalld -ysystemctl start firewalldsystemctl enable firewalld# 开放HTTP/HTTPS/SSH端口firewall-cmd --permanent --add-service={http,https,ssh}firewall-cmd --reload
2.2 用户与权限管理
创建专用用户:
useradd -m -s /bin/bash webadminpasswd webadmin # 设置密码# 赋予sudo权限visudo # 在文件末尾添加 "webadmin ALL=(ALL) NOPASSWD:ALL"
SSH密钥登录:
# 本地生成密钥对(Windows可用PuTTYgen)ssh-keygen -t ed25519# 上传公钥到服务器ssh-copy-id -i ~/.ssh/id_ed25519.pub webadmin@服务器IP# 禁用密码登录vi /etc/ssh/sshd_config# 修改以下参数PasswordAuthentication noChallengeResponseAuthentication no# 重启SSH服务systemctl restart sshd
三、Web服务部署
3.1 Nginx安装与配置
安装Nginx:
# 添加EPEL仓库yum install epel-release -y# 安装Nginxyum install nginx -ysystemctl start nginxsystemctl enable nginx
虚拟主机配置:
# 创建配置文件 /etc/nginx/conf.d/example.com.confserver {listen 80;server_name example.com www.example.com;root /var/www/example.com/html;index index.html index.htm;location / {try_files $uri $uri/ =404;}}
HTTPS配置:
# 安装Certbotyum install certbot python3-certbot-nginx -y# 获取证书(需提前解析域名)certbot --nginx -d example.com -d www.example.com# 自动续期测试certbot renew --dry-run
3.2 PHP与数据库配置(以WordPress为例)
PHP安装:
# 安装PHP 8.0及常用扩展yum install php php-fpm php-mysqlnd php-gd php-curl -ysystemctl start php-fpmsystemctl enable php-fpm
MariaDB安装:
yum install mariadb-server -ysystemctl start mariadbmysql_secure_installation # 设置root密码并移除匿名用户# 创建WordPress数据库mysql -u root -pCREATE DATABASE wordpress;GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost' IDENTIFIED BY '强密码';FLUSH PRIVILEGES;
WordPress部署:
# 下载WordPresswget https://wordpress.org/latest.tar.gztar -xzvf latest.tar.gzmv wordpress /var/www/example.com/html# 设置目录权限chown -R webadmin:webadmin /var/www/example.com/htmlfind /var/www/example.com/html -type d -exec chmod 755 {} \;find /var/www/example.com/html -type f -exec chmod 644 {} \;
四、性能优化与安全加固
4.1 服务器性能调优
内核参数优化:
# 编辑sysctl配置vi /etc/sysctl.conf# 添加以下参数net.core.somaxconn = 65535net.ipv4.tcp_max_syn_backlog = 65535vm.swappiness = 10# 应用配置sysctl -p
PHP-FPM调优:
# 编辑 /etc/php-fpm.d/www.confpm = dynamicpm.max_children = 50pm.start_servers = 5pm.min_spare_servers = 5pm.max_spare_servers = 10
4.2 安全防护措施
Fail2Ban安装:
yum install fail2ban -ycp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local# 编辑jail.local启用SSH防护[sshd]enabled = truemaxretry = 3bantime = 86400systemctl start fail2bansystemctl enable fail2ban
定期安全扫描:
# 安装Lynis安全审计工具yum install epel-release -yyum install lynis -y# 执行扫描lynis audit system
五、监控与维护
5.1 基础监控工具
htop安装:
yum install epel-release -yyum install htop -y
Nginx日志分析:
# 安装GoAccessyum install epel-release -yyum install goaccess -y# 生成HTML报告goaccess /var/log/nginx/access.log -a -o report.html --log-format=COMBINED
5.2 备份策略
数据库备份:
# 创建备份脚本 /root/db_backup.sh#!/bin/bashmysqldump -u root -p密码 wordpress > /backup/wordpress_$(date +%F).sqlfind /backup/ -name "wordpress_*.sql" -mtime +7 -delete# 添加cron任务(crontab -l 2>/dev/null; echo "0 3 * * * /root/db_backup.sh") | crontab -
文件备份:
# 使用rsync同步到远程服务器rsync -avz --delete /var/www/example.com/html/ 用户名@备份服务器IP:/backup/website/
六、常见问题解决方案
Nginx 502错误:
- 检查PHP-FPM是否运行:
systemctl status php-fpm - 查看Nginx错误日志:
tail -f /var/log/nginx/error.log
- 检查PHP-FPM是否运行:
WordPress白屏:
- 启用调试模式:编辑
wp-config.php,设置define('WP_DEBUG', true); - 检查文件权限:确保
wp-content目录可写
- 启用调试模式:编辑
SSL证书过期:
- 设置自动续期cron任务:
(crontab -l 2>/dev/null; echo "0 3 */15 * * certbot renew --quiet") | crontab -
- 设置自动续期cron任务:
通过以上步骤,您可以在CentOS系统上构建一个稳定、安全的轻量级网站服务器。实际部署时需根据业务需求调整配置参数,并定期更新系统补丁(通过yum update -y)以保障安全性。对于高流量网站,建议考虑负载均衡架构或升级至计算优化型实例。

发表评论
登录后可评论,请前往 登录 或 注册