一、web平台搭建—LAMP(centos7.x)
### --- web平台搭建—LAMP(centos7.x)
~~~ #Apache:
~~~ 当有用户请求进来之后,在传输之前Apache会先来分析该文件是HTML还是PHP文件,
~~~ 如果是HTML文件直接反馈给用户,如果是PHP文件,则要找PHP解析,
~~~ 让PHP解析之后,再反馈给Apache再反馈非给客户端
~~~ #PHP:
~~~ 该网站必须要用户注册之后才可以看到信息,
~~~ 当进行个人账号注册时需要把注册信息填写到数据库,
~~~ 通过浏览器填写完用户注册信息之后发回服务器之后,执行向数据库写入,
~~~ 是通过PHP页面所写入的代码向数据库写入,
~~~ 连接MySQL不是Apache而是PHP里面的代码,向MySQL里面写入。
~~~ 若是用户登录的时候,填写的信息通过PHP调用数据库里面的信息一致,则登录成功,反之失败。
~~~ #MySQL:
~~~ 进行数据存储。
### --- MySQL:进行数据存储。
~~~ Apache依赖apr apr-util pcre,需要手动解决。
~~~ Apache2.2版本里面有apr的依赖包,Apache而2.4版本没有apr版本。
### --- PHP依赖包:
~~~ 并不是说PHP依赖了很多软件包,而是要实现功能必须通过这些依赖包来解决。
~~~ MySQL依赖ncurses和bisoncmake
二、准备工作:
### --- 环境要求:
~~~ 操作系统:centos 7.x 64位
~~~ 网络配置:nmtui字符终端图形管理工具或者直接编辑配置文件。
~~~ 关闭SElinux和iptables防火墙
[root@server11 ~]# getenforce
Disabled
[root@server11 ~]# systemctl status firewalld.service
### --- 安装编译工具gcc、gcc-c++等
~~~ 解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘作为yum源
~~~ 编辑yum配置文件,启动本地光盘源(双光盘)
[root@server11 ~]# mount -t ios9660 /dev/sr0 /mnt/cdrom/
[root@server11 ~]# mount -t iso9660 /dev/sr1 /media
[root@server11 ~]# vim /etc/yum.repos.d/CentOS-Media.repo
[c7-media]
name=CentOS-$releasever-Media
baseurl=file:///mnt
file:///media
gpgcheck=0
enabled=1
~~~ 调整yum源配置文件引导优先级
[root@server11 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/backup
~~~ 安装gcc、gcc-c++、make等编译工具
[root@server11 ~]# yum install -y gcc* make
### --- 关闭系统RPM安装包的Apache、MySQL等服务
[root@server11 ~]# rpm -q httpd
package httpd is not installed
[root@server11 ~]# rpm -q mysql-server
package mysql-server is not installed
~~~ 为了防止rpm安装的软件和接下来安装的源码包软件冲突
[root@server11 ~]# systemctl stop httpd
[root@server11 ~]# systemctl stop mysqld-server
~~~ 确定rpm包安装的httpd和mysqld不能开机自启动
[root@server11 ~]# systemctl disable httpd
[root@server11 ~]# systemctl disable mysqld-server
### --- 关闭SELinux和iptables
~~~ 防止软件安装和调试过程中被iptables和SELinux所限制,无法实现效果
~~~ 关闭后SELinux(需重启)
[root@server11 ~]# vim /etc/selinux/config
SELINUX=disabled
[root@server11 ~]# reboot
~~~ 关闭iptables
[root@server11 ~]# iptables -F
[root@server11 ~]# systemctl stop firewalld.service
[root@server11 ~]# systemctl disable firewalld.service
### --- 拷贝源码包LAMP-php7.zip,解包解压缩
~~~ PHP5.x及PHP7.x版本;因为PHP5.x到PHP6.x版本更新周期太长了,
~~~ 所以官方跳过了PHP6.x大版本。很多公司对5.x版本进行修改,自定义为6.x版本
~~~ PHP5.x PHP7.x的版本更新很大,可以理解为7.x的版本重新写了PHP程序。
~~~ 生产环境中用的最多的是PHP5.x个PHP7.x
~~~ 建议将LAMP环境安装源码包统一存放在一个目录下,如/lamp,可以使用解压并解压缩
[root@server11 ~]# mv LAMP-php7.zip /tmp/
[root@server11 ~]# unzip /tmp/LAMP-php7.zip
[root@server11 ~]# mv LAMP-php7/ /lamp
[root@server11 ~]# cd /lamp/
[root@server11 lamp]# vim ~/tar.sh // 脚本保存在家目录下
#!/bin/bash
cd /lamp
/bin/ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do
/bin/tar -xf $TAR
done
/bin/rm ls.list
[root@server11 lamp]# bash tar.sh // 执行解压脚本
[root@server11 lamp]# ls
apr-1.4.6 httpd-2.4.7 libpng-1.2.31 memcached-1.4.17 ncurses-5.9 php-7.0.7
apr-1.4.6.tar.gz httpd-2.4.7.tar.gz libpng-1.2.31.tar.gz memcached-1.4.17.tar.gz ncurses-5.9.tar.gz php-7.0.7.tar.gz
apr-util-1.4.1 jpeg-6b libxml2-2.9.1 mhash-0.9.9.9 pcre-8.34 phpMyAdmin-4.1.4-all-languages
apr-util-1.4.1.tar.gz jpegsrc.v6b.tar.gz libxml2-2.9.1.tar.gz mhash-0.9.9.9.tar.gz pcre-8.34.tar.gz phpMyAdmin-4.1.4-all-languages.tar.gz
freetype-2.3.5 libmcrypt-2.5.8 mcrypt-2.6.8 mysql-5.5.48 pecl-memcache-php7 zlib-1.2.3
freetype-2.3.5.tar.gz libmcrypt-2.5.8.tar.gz mcrypt-2.6.8.tar.gz mysql-5.5.48.tar.gz pecl-memcache-php7.zip zlib-1.2.3.tar.gz
### --- 查看安装软件的磁盘空间是否充足
~~~ 保证软件能正常安装,空间不足时会导致软件安装是被
[root@server11 ~]# df -h // 空间不足;也可能导致安装不成功;最少满足1G空间
~~~ 源码软件包安装报错确认与解决方案
echo $? // 安装软件过程中由于频繁刷屏,建议在每个步骤结束后执行此命令
./configure // 此步骤报错多是依赖关系没解决或编译工具未安装(注意关键词提示)
make // 此步骤多事编译时选项参数书写错误,不存在,漏写等问题
// 一般需要检查上一个步骤,/configure --help
~~~ 注意:若遇到报错,最简单的办法是,找到问题解决后重新解压软件,重新安装,步骤最简洁