拓冰建站拓冰建站
首页 / 资讯中心 / 正文

LAMP模式以及搭建一个简易博客

LAMP(linux,apache,myaql,php)模式lamp几个原件组成数据流图部署网站端口冲突处理修改 Nginx 端口让出 80 给 Apache### 修改 Nginx 配置文件 vim /etc/nginx/nginx.conf 找到 listen 80; 这一行改为 listen 8081; //nginx与apache tomcat的默认端口冲突 # 校验配置语法 nginx -t # 重载生效 systemctl reload nginx # 查看端口确认nginx不再占用80 ss -tlnp | grep nginx安装 LAMP 全套依赖与组件### 1. 安装 PHP 编译运行依赖库 yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libtool-ltdl-devel pcre pcre-devel apr apr-devel zlib-devel gcc make unzip ### 2. 安装 Apache、PHP、MySQL 驱动 # httpdApache服务php-fpm进程管理php-mysql数据库驱动 yum install php php-fpm php-mysql httpd mariadb-server mariadb -y ### 3. 开机自启服务 systemctl enable httpd mariadb php-fpm systemctl start httpd mariadb php-fpm //或者只是手动激活MySQL‑MariaDB冲突导致的问题解决我在 CentOS7 Minimal 搭建 LAMPApachePHPDiscuz 论坛环境。目标使用系统源自带的MariaDB 5.5作为数据库。系统层面rpm -qa查询确认本机没有残留 MySQL 的 RPM 软件包全部安装包只有 mariadb、mariadb‑server、mariadb‑libs、php‑mysql。软件包本身不存在包冲突。但是硬盘上遗留了之前手动安装 MySQL 二进制版本留下的数据目录/var/lib/mysql。这个文件夹的所有者是root而 mariadb 运行身份是mysql用户。mariadb 进程没有权限读写数据目录导致systemctl start mariadb直接启动失败。报错Job for mariadb.service failed。解决备份旧目录拷贝/usr/share/mysql模板文件修正属主给文件提权再启动服务。将/var/lib/mysql文件夹提权777 #1 停止服务 systemctl stop mariadb #2 备份旧目录 mv /var/lib/mysql /var/lib/mysql_broken_backup #3 重新创建目录 mkdir /var/lib/mysql #4 必须修改属主为mysql重中之重 chown -R mysql:mysql /var/lib/mysql //非该权限或者root用户改不了 #5 selinux临时关闭排除权限拦截 setenforce 0 #6 关键复制rpm包自带的初始模板文件到数据目录 cp -r /usr/share/mysql/* /var/lib/mysql/ #7 再次修正全部归属 chown -R mysql:mysql /var/lib/mysql #7.5 停掉官方mysql //# 1. 先停掉正在运行的 MySQL /usr/local/mysql/bin/mysqladmin -u root -p shutdown # 如果有密码需要输入 # 或者直接 kill安全起见用 kill 信号 kill -TERM $(cat /usr/local/mysql/data/localhost.localdomain.pid) # 2. 确认端口不再被占用 netstat -tlnp | grep 3306 # 应该没有输出 # 3. 彻底清空 MariaDB 数据目录因为之前残留了 ibdata1 等 InnoDB 文件 systemctl stop mariadb # 确保停掉 rm -rf /var/lib/mysql/* # 4. 重新初始化 MariaDB mysql_install_db --usermysql --datadir/var/lib/mysql --verbose # 5. 启动 MariaDB systemctl start mariadb systemctl status mariadb #8 启动mariadbrpm版本启动时自动生成系统表 systemctl start mariadb #9 设置开机自启 systemctl enable mariadb #10 看状态 systemctl status mariadb 将/var/lib/mysql文件夹降权700Apache 主配置修改支持 PHP 解析编辑 Apache 配置文件vim /etc/httpd/conf/httpd.conf # vim显示行号命令:set nu 跳转120行左右 DocumentRoot /var/www/html 追加 TypesConfig /etc/mime.types # 新增PHP解析配置 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # 优先加载index.php首页 DirectoryIndex index.php index.html httpd -t //校验配置Syntax OK代表配置无错误测试 PHP 运行环境phpinfo 探针页面#创建测试页面 vim /var/www/html/index.php #写入 meta charsetutf8 LAMP环境测试页面 ?php phpinfo(); ? #放行80重启 # 永久放行http(80)端口 firewall-cmd --add-servicehttp --permanent # 重载防火墙规则 firewall-cmd --reload # 重启Apache systemctl restart httpd ip访问出现 PHP 详细信息即代表 LAMP 基础环境搭建成功成功页面Discuz网站展开部署### 下载 Discuz 源码压缩包 wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip网站已经废弃 官网上下X3.5也可以使用但听说X3.2更适合学习环境centos7的老旧环境 ### 2. 解压源码包 unzip Discuz_X3.2_SC_UTF8.zip ### 3. 将网站代码拷贝至 Apache 网站根目录 cp -r upload/* /var/www/html/ # 覆盖原有index.php输入y确认 ### 4. 给网站目录开放读写权限Discuz 安装必需 chmod -R 777 /var/www/html/* 安全备注生产环境不建议 777本地学习环境可临时使用。数据库初始化Discuz 安装前置# 启动数据库 systemctl start mariadb # 数据库初始化脚本 mysql_secure_installation 按照提示设置 root 密码、删除匿名用户、禁止远程 root 登录、移除 test 库。 登录数据库创建论坛专用库 mysql -uroot -p create database discuz default charset utf8; exit;浏览器安装 Discuz 论坛浏览器访问虚拟机 IP自动跳转 Discuz 安装向导数据库填写库名 discuz、账号 root、你设置的数据库密码设置论坛管理员账号密码完成安装安装完成后删除根目录install文件夹避免重复安装漏洞注意一定要权限给够共存 Nginx 与 Apache 验证Apache虚拟机IP→ 80 端口访问 Discuz 论坛Nginx虚拟机IP:8080→ 访问 Nginx 默认页面端口查看命令ss -tlnp核对两个服务端口互不冲突常见排坑总结访问页面下载 php 文件httpd.conf 未添加 AddType PHP 解析规则80 端口被占用执行ss -tlnp | grep 80确认 Nginx 未改端口Discuz 安装提示无写入权限未执行chmod -R 777 /var/www/html外部手机 / 局域网电脑打不开防火墙未放行 http 服务500 错误PHP-FPM 未启动执行systemctl start php-fpm环境解耦设计Apache 配置拆分和 JDK 环境变量拆分profile.d思路一致httpd 可在conf.d/单独新建站点配置不修改主配置方便维护多网站Nginx/Apache 分工本次 Apache 承载 PHP 动态网站Nginx 可后续用作反向代理、静态资源分离二者互不冲突权限最小化思维777 仅本地学习使用线上应限定 www 用户读写权限降低安全风险
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门