centos搭建web服务器
CentOS 7上搭个web服务器,搭建真没你想的搭建那么玄乎。我上周刚给一台老旧的搭建Dell OptiPlex装了系统,从裸机到能跑起PHP网站,搭建前后不到四十分钟。搭建核心就三件事:装Apache、搭建开防火墙端口、搭建配个虚拟主机。搭建别急着下载什么宝塔面板,搭建命令行敲一遍,搭建你对整个系统的搭建理解会深一个档次。
先确认你的搭建CentOS能联网。然后直接上命令:yum install httpd -y。搭建这步会拉取Apache的搭建主程序,大概十几MB,搭建取决于你的网速。装完别急着启动,先改个配置——编辑/etc/httpd/conf/httpd.conf,找到ServerName那行,把注释去掉,改成ServerName localhost:80。不这么做的话,启动时总会报个警告,虽然不影响运行,但看着膈应。
启动服务用systemctl start httpd,顺手设个开机自启systemctl enable httpd。这时候你在浏览器敲服务器IP,应该能看到Apache的默认测试页。如果打不开,八成是防火墙挡着。CentOS 7默认用firewalld,执行firewall-cmd --permanent --add-service=http然后firewall-cmd --reload,搞定。别忘了还有SELinux,这玩意儿经常坑新手,临时用setenforce 0关掉测试,如果一切正常再考虑怎么配置策略。
默认的/var/www/html目录权限有点死,我习惯把网站文件丢到/var/www/mysite,然后新建一个虚拟主机配置文件。在/etc/httpd/conf.d/下创建mysite.conf,内容大致是:
<VirtualHost *:80> ServerName mysite.example.com DocumentRoot /var/www/mysite <Directory /var/www/mysite> AllowOverride All Require all granted </Directory> </VirtualHost> 写完记得systemctl restart httpd。这时候扔个index.html进去测试,能访问就说明基础通了。但光有静态页没意思,要跑WordPress或者Discuz还得装PHP和MySQL。一条命令的事:yum install php php-mysql php-gd php-xml -y。CentOS 7自带的PHP版本是5.4,老得掉渣,但应付一般小站够用。你要是非要PHP 7以上,得先装EPEL和Remi仓库,那又是另一段折腾了。
MySQL这边,CentOS 7默认用MariaDB替代。装好之后systemctl start mariadb,然后跑mysql_secure_installation设置root密码。我见过不少人卡在这一步,其实就一路回车加设置密码,没什么难的。数据库建好了,PHP程序才能连上。
最后说个很多人忽略的细节——日志。Apache的日志在/var/log/httpd/下,access_log和error_log分开存。网站出问题,第一件事就是tail -f error_log看报错。这习惯能帮你省下大量百度时间。我上次配伪静态规则,RewriteRule写错个正则,页面直接500,就是靠日志里一行AH00484: code 500定位到问题。
这套流程走下来,你拥有的不止是一个能跑网站的服务器,而是知道每个配置文件在干什么的底气。下次遇到问题,你不会慌着重装系统,而是能冷静地看日志、查端口、翻配置。这就是自己动手搭建的意义。
