一、LAMP架构概述
LAMP(Linux + Apache + MySQL + PHP)是构建动态网站和Web应用的主流技术栈:
-
Linux:操作系统基础,提供稳定的运行环境。
-
Apache:Web服务器,接收用户请求并返回响应。
-
MySQL:关系型数据库,存储业务数据。
-
PHP:服务端脚本语言,处理业务逻辑。
二、环境准备与配置
1. 关闭防火墙与SELinux
-
关闭防火墙:
systemctl stop firewalld systemctl disable firewalld
-
关闭SELinux:
setenforce 0 # 临时关闭 vim /etc/selinux/config # 永久关闭
修改为
SELINUX=disabled
,保存后重启生效。
2. 清理旧版本AMP组件
-
检查并卸载旧版本:
rpm -qa | grep httpd # 检查Apache rpm -e httpd-* # 卸载Apache rpm -qa | grep mysql # 检查MySQL rpm -e mysql-* # 卸载MySQL
3. 配置YUM源
确保YUM源中未排除AMP相关软件:
vim /etc/yum.conf # 注释掉 exclude=httpd php mysql
三、安装与配置Apache
1. 安装Apache
yum install httpd -y
2. 配置Apache
修改主配置文件,设置服务器域名:
vim /etc/httpd/conf/httpd.conf # 取消注释并修改: ServerName localhost:80
3. 启动服务
systemctl start httpd systemctl enable httpd
4. 验证安装
访问 http://服务器公网IP
,若显示Apache默认页面,则安装成功:
四、安装PHP
1. 安装PHP核心
yum install php -y
2. 重启Apache加载PHP模块
systemctl restart httpd
3. 测试PHP环境
创建测试文件 /var/www/html/demo.php
,内容如下:
<?php echo 'Hello World'; ?>
访问 http://公网IP/demo.php
,若显示“Hello World”,则PHP配置成功:
五、部署Discuz!论坛
1. 下载Discuz!源码
从码云下载最新版源码:
wget https://gitee.com/ComsenzDiscuz/DiscuzX/archive/master.zip unzip DiscuzX-master.zip
2. 上传并解压源码
将源码文件移动到Apache项目目录:
mv DiscuzX-master/* /var/www/html/
3. 设置目录权限
chmod -R 777 /var/www/html/
注意:生产环境应细化权限,避免全局777。
4. 安装PHP依赖扩展
解决数据库连接问题:
yum install php-mysqlnd -y systemctl restart httpd
5. 开始安装
访问 http://公网IP
,按向导完成安装:
-
同意许可协议:
-
配置数据库:
-
数据库名:
discuz
-
用户名/密码:MySQL账户信息
-
-
设置管理员账号:
6. 完成安装
安装成功后访问论坛首页:
六、关键问题与优化
1. 数据库连接失败
-
问题:安装时提示“无法连接数据库”。
-
解决:
-
确保MySQL服务已启动。
-
检查数据库用户名和密码是否正确。
-
2. 文件权限不足
-
问题:安装过程中提示目录不可写。
-
解决:
chmod -R 755 /var/www/html/ chown -R apache:apache /var/www/html/
3. 性能优化
-
启用缓存:安装OPcache扩展加速PHP。
-
配置CDN:静态资源通过CDN分发,减轻服务器负载。