|NO.Z.00039|——————————|^^ 部署 ^^|——|Linux&Centos6.x&LAMP&Typecho.V01|——|环境准备|
一、web平台搭建—LAMP(centos6.x)

### --- web平台搭建—LAMP(centos6.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 6.x 64位
~~~ 关闭SElinux和iptables防火墙’
[root@server21 ~]# getenforce
Disabled
[root@server21 ~]# service iptables status
iptables: Firewall is not running.
### --- 安装编译工具gcc、gcc-c++等
~~~ 注意:解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘作为yum源
~~~ 编辑yum配置文件,启动本地光盘源(双光盘)
[root@server21 ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom/
[root@server21 ~]# mount -t iso9660 /dev/sr1 /media
[root@server21 ~]# vim /etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-$releasever-Media
baseurl=file:///mnt
file:///media
gpgcheck=0
enabled=1
### --- 调整yum源配置文件引导优先级
[root@server21 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/backup
### --- 安装gcc、gcc-c++、make等编译工具
[root@server21 ~]# yum install -y gcc* make
### --- 关闭系统RPM安装包的Apache、MySQL等服务
[root@server21 ~]# rpm -q httpd
package httpd is not installed
[root@server21 ~]# rpm -q mysql-server
package mysql-server is not installed
~~~ 为了防止rpm安装的软件和接下来安装的源码包软件冲突
[root@server21 ~]# service httpd stop
[root@server21 ~]# service mysqld stop
~~~ 确定rpm包安装的httpd和mysqld不能开机自启动
[root@server21 ~]# chkconfig httpd off
[root@server21 ~]# chkconfig mysqld off
......
### --- 关闭SELinux和iptables
~~~ 防止软件安装和调试过程中被iptables和SELinux所限制,无法实现效果
~~~ 关闭后SELinux(需重启)
[root@server21 ~]# vim /etc/selinux/config
SELINUX=disabled
[root@server21 ~]# reboot
### --- 关闭iptables
[root@server21 ~]# iptables -F
[root@server21 ~]# chkconfig iptables off
### --- 拷贝源码包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@server21 ~]# unzip LAMP-php7.zip
[root@server21 ~]# mv LAMP-php7 /lamp
[root@server21 ~]# 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@server21 ~]# bash tar.sh // 执行解压脚本
[root@server21 ~]# ls /lamp/
apr-1.4.6 freetype-2.3.5.tar.gz libmcrypt-2.5.8 libxml2-2.9.1.tar.gz mhash-0.9.9.9 ncurses-5.9.tar.gz php-7.0.7.tar.gz
apr-1.4.6.tar.gz httpd-2.4.7 libmcrypt-2.5.8.tar.gz mcrypt-2.6.8 mhash-0.9.9.9.tar.gz pcre-8.34 phpMyAdmin-4.1.4-all-languages
apr-util-1.4.1 httpd-2.4.7.tar.gz libpng-1.2.31 mcrypt-2.6.8.tar.gz mysql-5.5.48 pcre-8.34.tar.gz phpMyAdmin-4.1.4-all-languages.tar.gz
apr-util-1.4.1.tar.gz jpeg-6b libpng-1.2.31.tar.gz memcached-1.4.17 mysql-5.5.48.tar.gz pecl-memcache-php7.zip zlib-1.2.3
freetype-2.3.5 jpegsrc.v6b.tar.gz libxml2-2.9.1 memcached-1.4.17.tar.gz ncurses-5.9 php-7.0.7 zlib-1.2.3.tar.gz
### --- 查看安装软件的磁盘空间是否充足
~~~ 保证软件能正常安装,空间不足时会导致软件安装是被
[root@server21 ~]# df -h // 空间不足;也可能导致安装不成功;最少满足1G空间
~~~ 源码软件包安装报错确认与解决方案
echo $? // 安装软件过程中由于频繁刷屏,建议在每个步骤结束后执行此命令
./configure // 此步骤报错多是依赖关系没解决或编译工具未安装(注意关键词提示)
make // 此步骤多事编译时选项参数书写错误,不存在,漏写等问题
// 一般需要检查上一个步骤,/configure --help
~~~ 注意:若遇到报错,最简单的办法是,找到问题解决后重新解压软件,
~~~ 重新安装,步骤最简洁
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv007-network
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通