centos7搭建网站常见问题解决方法详细步骤避免踩坑

发布时间 - 2025-11-18 11:07:19    点击率:

今天想聊聊我在CentOS 7上搭网站的经历,真是踩了不少坑。一开始我觉得,这玩意儿不是挺简单嘛就是装个系统、搞点软件,代码一扔就行。结果,事儿没想象中那么好搞。

先从准备CentOS 7说起

我找了个旧电脑,想着省点钱不用虚拟机,直接实体安装。去官网下那个CentOS 7的ISO文件,折腾半天,网速慢得跟蜗牛一样。好不容易下完,做成U盘启动盘,结果安装界面一直卡在“选择分区”那里。我以为是我的硬件出问题,拆机检查了半天,发现是U盘接口松了,重启也没用。后来才发现,得用一个叫rufus的工具做启动盘才稳,不用它容易出bug。

安装成功后,启动系统。第一次登录,root密码忘了设置,我傻乎乎地试了好多次错密码,系统直接给我锁了。只好重装一遍,这回学聪明了:

  • 备份所有密码到手机。
  • 选英文界面,中文有时显示乱码,影响操作。

开机后,开始配置网络。本地IP老是连不上,ping网不通。原来是默认防火墙开了,端口都堵了。我用命令行查防火墙规则: firewall-cmd --list-all

结果列表一堆乱七八糟的东西。赶紧关了它:

systemctl stop firewalld

这下网才通,但上网时网页加载慢得不行。查原因,是网卡驱动没更新。输入: yum update

等了半个钟头,总算解决。

搞Web服务器这一块

我选的Apache,都说这个上手容易。直接yum安装: yum install httpd

开始挺顺,结果启动服务时,弹出个错误消息“httpd fail to start”。我一搜,说是端口被占用了,有别的服务在偷用。试了好多次重启,还是失败。后来发现是系统自带的SELinux搞鬼,它限制太多。只能硬着头皮把它关了:

setenforce 0

这下Apache终于能跑了。

接着测试网页,浏览器输入localhost,白屏啥都不显示。我以为Apache坏了,重新安装一遍,浪费了一小时。搞明白是文档根目录错了。默认文件夹是/var/www/html,但我忘了放测试文件进去。随便建个*丢进去,网页就跳出来了。

然后想用PHP搭动态网站,装PHP时: yum install php

装完后重启Apache,PHP代码不起作用。查日志,说是模块没加载。原来PHP7默认不激活,得手动启用:

systemctl restart httpd

重启后,还是报错。后来发现问题在配置文件,编辑这个:

/etc/httpd/conf/*

加一行“AddType application/x-httpd-php .php”就

数据库这块也不省心

我选了MariaDB,图它免费。yum安装: yum install mariadb-server

启动服务时,报错“can't connect to socket”。检查端口3306,被其他程序占了。查出是系统缓存服务在捣乱,停了它:

systemctl stop some_cache_service

MariaDB起来后,设置root密码: mysql_secure_installation

结果密码太简单,不让过。换成复杂点的,带数字和字母,问题解决。

创建数据库时,权限又出错。我登录MySQL命令行: CREATE DATABASE my_site;

然后给用户授权时,老是拒绝访问。试了几次,原来得刷新权限:

FLUSH PRIVILEGES;

搞定后,把网站代码上传到服务器。用FTP工具传输文件,上传完网页打不开。发现是文件夹权限不对,所有人是我不是Apache。只能改:

chown -R apache:apache /var/www/html

一步,配域名绑定。DNS解析好了,输入域名却连不上。查半天,是Apache虚拟主机配置写错了。编辑文件: /etc/httpd/conf.d/*

里面路径少个斜杠,加上后重启服务,网站蹦出来。

总结一下经验

折腾了两天多,真不容易。主要坑在:

  • 防火墙和SELinux,一开始就得关掉,省心。
  • 端口被占得频繁检查,不能懒。
  • 密码和权限设置要细心,别图快搞简单了。

完成后网站跑得贼溜,感觉自己成专家了。但记住,下次再搞绝对要备份配置,不然重蹈覆辙就惨了。