首页主机资讯CentOS从零搭建Web服务器步骤解析

CentOS从零搭建Web服务器步骤解析

时间2026-01-19 02:46:04发布访客分类主机资讯浏览602
导读:CentOS 从零搭建 Web 服务器步骤解析 一 环境准备与基础安全 更新系统并安装常用工具:执行 sudo yum update -y,建议同时安装 vim、wget、curl、net-tools 便于后续操作。 开启并放行防火墙:启...

CentOS 从零搭建 Web 服务器步骤解析

一 环境准备与基础安全

  • 更新系统并安装常用工具:执行 sudo yum update -y,建议同时安装 vimwgetcurlnet-tools 便于后续操作。
  • 开启并放行防火墙:启用 firewalld 后放行 HTTP/HTTPS 流量,命令为:sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=https,随后 sudo firewall-cmd --reload。如需限制管理端口,可仅允许可信网段访问 SSH:sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的IP/网段" service name="ssh" accept' & & sudo firewall-cmd --reload
  • SELinux 建议保持启用(默认策略),如遇到权限问题优先通过正确的 SELinux 布尔值或文件上下文修正,而非直接关闭;确需临时排障可用 sudo setenforce 0,生产环境不建议长期关闭。

二 安装与启动 Web 服务

  • 方案 A Apache(httpd)
    • 安装与启动:sudo yum install httpd -y,随后 sudo systemctl start httpd & & sudo systemctl enable httpd
    • 验证:浏览器访问服务器 IP 出现 Apache 测试页即成功。
  • 方案 B Nginx
    • 安装与启动:建议先启用 EPELsudo yum install -y epel-release,再安装 sudo yum install -y nginx,随后 sudo systemctl start nginx & & sudo systemctl enable nginx
    • 验证:访问服务器 IP 出现 Nginx 欢迎页即成功。
  • 说明:两者择一部署即可;若需更高并发与反向代理能力可优先 Nginx,若追求通用性与生态兼容可优先 Apache

三 部署动态站点与数据库

  • 安装 PHP 及常用扩展:执行 sudo yum install php php-mysql -y,安装完成后重启 Web 服务(Apache 用 sudo systemctl restart httpd,Nginx 用 sudo systemctl restart nginx)。
  • 创建 PHP 信息页验证:在默认根目录创建 /var/www/html/info.php,内容 < ?php phpinfo(); ?> ,访问 http://服务器IP/info.php 出现 PHP 信息页即正常。
  • 安装数据库(MariaDB)
    • 安装与启动:sudo yum install mariadb-server mariadb -y,随后 sudo systemctl start mariadb & & sudo systemctl enable mariadb
    • 安全初始化:执行 sudo mysql_secure_installation 设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试库等。
    • 登录测试:mysql -u root -p 可正常进入数据库即完成。

四 虚拟主机与目录权限

  • 以 Apache 为例创建站点 example.com
    • 新建目录与权限:sudo mkdir -p /var/www/html/example.com/public_html,建议将目录属主设为 apache 用户组:sudo chown -R apache:apache /var/www/html/example.com,权限 sudo chmod -R 755 /var/www/html/example.com
    • 新建虚拟主机配置:sudo vim /etc/httpd/conf.d/example.com.conf,内容示例:
      <
          VirtualHost *:80>
          
          ServerAdmin admin@example.com
          DocumentRoot /var/www/html/example.com/public_html
          ServerName example.com
          ServerAlias www.example.com
          ErrorLog /var/log/httpd/example.com-error.log
          CustomLog /var/log/httpd/example.com-access.log combined
      <
          /VirtualHost>
          
      
    • 语法检查与生效:sudo apachectl configtest,通过后 sudo systemctl restart httpd
  • Nginx 的 Server 块思路类似:在 /etc/nginx/conf.d/ 下新增 example.com.conf,配置 server_namerootindex 等指令,完成后 sudo nginx -t & & sudo systemctl reload nginx
  • 提示:目录与日志路径可按需调整,但需确保运行用户(Apache 为 apache,Nginx 为 nginx)对相关目录具备读取/写入权限。

五 启用 HTTPS 与运维监控

  • 使用 Let’s Encrypt 为 Apache 自动部署免费证书
    • 安装 Certbot:sudo yum install epel-release -y,随后 sudo yum install certbot python2-certbot-apache -y
    • 获取并自动配置证书:sudo certbot --apache -d example.com -d www.example.com,按向导选择是否重定向 HTTP→HTTPS
  • 维护与监控
    • 证书自动续期:建议定期执行 sudo certbot renew --dry-run 验证续期流程,生产环境可配置系统定时任务自动续期。
    • 日志与排障:常用命令 sudo tail -f /var/log/httpd/access_logsudo tail -f /var/log/httpd/error_log(Nginx 为 /var/log/nginx/access.logerror.log);配置变更前执行语法检查(Apache sudo apachectl configtest,Nginx sudo nginx -t)。
    • 系统与软件更新:定期 sudo yum update -y;可启用 yum-cron 实现自动更新:sudo yum install yum-cron -y & & sudo systemctl enable --now yum-cron
    • 备份策略:定期备份站点目录与数据库,例如 sudo tar -cvzf /backup/example.com.tar.gz /var/www/html/example.com,数据库用 mysqldump 导出:sudo mysqldump -u root -p 数据库名 > /backup/db.sql

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS从零搭建Web服务器步骤解析
本文地址: https://pptw.com/jishu/785116.html
怎样在CentOS上从零安装数据库 如何从零开始在CentOS上构建服务器

游客 回复需填写必要信息