下面给你一个在 CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)并部署网站的完整、常用、实战型教程。
示例以 CentOS 7 为主(CentOS 8/Stream 也类似,区别我会注明)。
yum update -y
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
✅ 生产环境可配置 SELinux,但新手建议先关闭
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
yum install -y httpd
systemctl start httpd
systemctl enable httpd
浏览器访问:
http://服务器IP
看到 Apache 测试页 即成功 ✅
CentOS 7 默认用 MariaDB
yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
建议设置:
mysql -uroot -p
yum install -y epel-release
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php74
yum install -y php php-cli php-fpm php-mysql php-gd php-mbstring php-xml php-json
systemctl restart httpd
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
✅ 看到 PHP 信息页即成功
默认路径:
/var/www/html
cd /var/www/html
rm -f info.php
上传方式:
示例:
git clone https://github.com/xxx/xxx.git .
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
mysql -uroot -p
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
网站配置文件里填写:
域名 A 记录指向服务器 IP
vim /etc/httpd/conf.d/mysite.conf
示例:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
systemctl restart httpd
| 网站 | 说明 |
|---|---|
| 静态 HTML | 直接放 /var/www/html |
| PHP 网站 | 如上配置 |
| WordPress | 最常用,直接安装 |
| Laravel | 需要 Composer + rewrite |
systemctl status httpd
journalctl -xe
httpd -M | grep php
✅ 系统更新
✅ 安装 Apache
✅ 安装 MariaDB
✅ 安装 PHP
✅ 上传网站代码
✅ 配置数据库
✅ 访问网站
如果你愿意,我可以:
你现在用的是 CentOS 几? 想搭 什么网站?