保障4-0507任务打卡

任务列表:
11.1 LAMP架构介绍
11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装
11.6 MariaDB安装
11.7/11.8/11.9 Apache安装
11.10/11.11/11.12 安装PHP5
11.13 安装PHP7
11.14/11.15 Apache和PHP结合
扩展
mysql5.5源码编译安装 http://www.aminglinux.com/bbs/thread-1059-1-1.html
mysql5.7二进制包安装(变化较大) http://www.apelearn.com/bbs/thread-10105-1-1.html
apache dso https://yq.aliyun.com/articles/6298
apache apxs https://wizardforcel.gitbooks.io/apache-doc/content/51.html
apache工作模式 http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html

11.1 LAMP架构介绍

11.1.1什么是LAMP架构

  • L Linux
  • A Apache(httpd)
  • Mysql
  • PHP
    11-1.png
  • 其中Linux是操作系统,其他三个是基于Linux上的软件或服务。
  • 这三个角色可以在一台机器,也可以分开。但是Apache(httpd)和PHP要在一起。

11.1.2 LAMP架构介绍

11-2.png

  • 用户通过浏览器与Apache进行交互
  • Apache可以直接把静态文件反馈给用户
  • 动态文件一般存在MySQL里。Apache通过php模块与MySQL交互获取客户需要的文件。

11.2 MySQL/MariaDB介绍

  • MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿美元),2009年sun被oracle收购(74亿美元)。
  • MySQL官网http://www.mysql.com 最新版本5.7GA/8.0DMR。
  • MySQL5.6变化较大,5.7性能上有很大提升。
  • Mariadb为MySQL的一个分支,官网http://mariadb.com/最新版10.2
  • Mariadb主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立。
  • Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6
  • community社区版本,Enterprise企业版
  • GA(Generarlly Available)指通用版本,在生产环境中用的稳定版本。
  • DMR(Development Milestone Release)开发里程碑版本,有功能性突破的版本。
  • RC(Release Candidate)发行候选版本。
  • Beta开放测试版本。
  • Alpha内部测试版本。

11.3/11.4/11.5 MySQL安装

安装MySQL的三种方式:

  • rpm
  • 源码包安装
  • 二进制免编译

11.3.1二进制免编译安装

二进制免编译安装是指:把已经编译完成的文件打包压缩后发布。

  • 优点不用花时间配置,可以自定义安装路径。
  • 缺点性能不如编译安装。

安装

  • 1,进入/usr/local/src目录(下载的资源都存到这里)
cd /usr/local/src/
  • 2,在r.aminglinux.com里找到合适的资源
    11-3.png
  • 3,使用wget命令下载合适的包
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
  • 4,原地解压这个包
tar zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
  • 5,把解压后的包移动到/usr/local目录下并改名为mysql
mv mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql
  • 6,进入/usr/local/mysql目录
cd /usr/local/mysql
  • 7,新建一个mysql用户
useradd mysql
  • 8,在根目录下新建一个目录/data用来存放数据
mkdir /data
  • 9,开始编译安装.从第九步开始就要注意版本了。以下是5.7之前的版本安装方法。
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

如果这里提示缺少Dumper就yum安装perl-Data-Dumper包

  • 10,判断是否成功。在输出内容中找到两个OK.或者马上输入echo $?。为零即为安装成功。
  • 11,复制配置文件
cp support-files/my-default.cnf /etc/my.cnf
  • 12,编辑配置文件
vi /etc/my.cnf
  • 13,配置启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld

修改basedir和datadir为指定的路径。比如basedir=/usr/local/mysql

  • 14,开机启动
chkconfig --add mysqld
  • 15,如果不能使用启动脚本,如何以命令行的方式启动mysql
/usr/local/mysql/bin/mysql_safe --usr=用户 --default-file=配置文件路径 --datadir=数库存放路径 &

结尾要加&符号把执行结果丢到后台。

  • 16,命令行启动的mysql只能用killall mysqld这种安全的方式来关闭,防止数据丢失。
    不要强制关闭mysqld,如果数据量过大时关闭mysqld会有延迟,请耐心等待。

11.6 MariaDB安装

本章节依旧使用二进制免编译包安装

1,下载mariadb并解压到/usr/local/mariadb目录下
2,新建用户mariadb
3,在/data/目录下新建目录存放mariadb数据
4,为mariadb目录设置属主为mariadb(包括数据目录和安装目录)
5,初始化./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb
6,复制配置文件cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
support-files下有各种配置方案,根据内存大小进行配置。
7,编辑配置文件,定义安装目录和数据存放目录,通讯端口,通讯文件。
一定要在[mysqld]模块下操作,在其他地方写没用。
9,复制启动脚本mysql.server到/etc/init.d/目录下改名为mariadbcp support-files/mysql.server /etc/init.d/mariadb
10,编辑配置文件,指定安装目录数据目录和配置文件
11-4.png
指定配置文件后要在下边加入--default-files="$conf"
11,启动/etc/init.d/mariadb start

11.7/11.8/11.9 Apache安装

11.7.1 什么是apache

  • Apache是一个基金会的名称,我们所使用的web服务软件的名称是httpd.
  • 早期httpd的名称叫作Apache
  • Apache官网www.apache.org

11.7.2 apr和apr-util

  • apr和apr-util是一个通用的函数库,可以使httpd不关心底层操作系统,方便的移植(比如从linux到windows)

11.7.3安装

1,下载

cd /usr/local/src  
wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.39.tar.gz  
wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz  
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz  

2,解压文件到/usr/local目录下

tar zxvf httpd-2.4.39.tar.gz  
tar zxvf apr-1.6.5.tar.gz
tar zxvf apr-util-1.6.1.tar.gz

跟据下载的实际内容进行调整
3,这时/usr/local/src/目录下应该有三个对应的目录分别是:

  • httpd
  • apr
  • apr-util
    4,编译安装apr
cd /usr/local/src/apr-1.5.2/
./configure --prefix=/usr/local/apr
......执行初始化......
make && make install
......开始编译安装......

5,安装apr-util

cd /usr/local/src/apr-util-1.6.1/  
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr  
......执行初始化.....
make && make install
......开始安装......

6,安装apache2.4

cd /usr/local/src/httpd-2.4.39/
./configure \
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \
--enable-mods-shared=most
......初始化......
make && make install
  • enable-so表示支持动态扩展模块
  • enable-mods-shared=most 表示大多数模块都可以被加载

11.7.3 /usr/local/apache2目录结构

  • bin目录存放核心执行文件
  • conf存放配置相关文件
  • htdocs默认访问页面
  • logs日志相关文件
  • modules模块存放目录
    /usr/local/apache2/bin/httpd -M列出所有模块

11.7.4 命令行启动httpd

/usr/local/apache2/bin/apachectl start

11.10/11.11/11.12 安装PHP5

11.10.1 php简介

  • php官网www.php.net
  • 当前主流版本为5.6或7.1
  • 绝大多数企业还在使用5。7版本的改动很大,兼容性不如5。

11.10.2安装

1,下载
wget http://cn2.php.net/distributions/php-5.6.39.tar.bz2
2,解压
tar jxvf php-5.6.39.tar.bz2
3,进入目录并编译

cd php-5.6.39
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
 make && make install

4,解决xml2-config not found问题
yum install -y libxml2-devel
5,解决Cannot find OpenSSL
yum install -y openssl-devel
6,解决Please reinstall the BZip2 distrbution
yum install -y bzip2-devel
7,解决jpeglib.h not found
yum install -y libjpeg-devel
8,解决png.h not found
yum install -y libpng-devel
9,解决freetype-config not found
yum install -y freetype-devel
10,解决mcrypt.h not found.Please reinstall libmcrypt

yum install -y epel-release
yum install -y libmcrypt-devel

11,出现Thank you using PHP时说明完成初始化
12,安装完成后要把配置文件复制过去
cp php.ini-production /usr/local/php/etc/php.ini

13,解决Sorry, I cannot run apxs. Possible reasons follow:

2、vim apxs文件 找“/replace/with/path/to/perl/interpreter”关键字

在第一个行 :#!/replace/with/path/to/perl/interpreter -w

根据perl的安装目录 /usr/bin/perl

修改为:#! /usr/bin/perl -w


作者:筘筘
来源:CSDN
原文:https://blog.csdn.net/sxkjkoukou/article/details/22860547
版权声明:本文为博主原创文章,转载请附上博文链接!
14,Cannot find MySQL header files
yum install -y mysql-devel
15,error: Cannot find libmysqlclient_r under /usr/local/mysql.

# cd /usr/local/mysql/lib/mysql/ 
# ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so  

11.10.3 PHP目录介绍

  • PHP被我们安装到了/usr/local/php目录下
  • bin 核心二进制文件目录
  • /usr/local/php/bin/php -m 查看php所加载的模块
  • /usr/local/php/bin/php -i 查看PHP相关的信息

11.13 安装PHP7

1,下载
wget http://cn2.php.net/distributions/php-7.3.0.tar.bz2
2,解包
tar jxvf php-7.3.0.tar.bz2
3,进入目录
cd php-7.3.0
4,编译

./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
 make && make install

5,复制配置文件
6,当php5和7都安装过后可以通过编辑httpd.conf来决定apache使用哪个版本的php
vi /usr/local/apache2/conf/httpd.conf
11-11.png

11.14/11.15 Apache和PHP结合

httpd主配置文件:/usr/local/apache2/conf/httpd.conf

11.4.1 必须修改的四个位置

1,ServerName
11-5.png
2,Require all granted
11-6.png
11-7.png
3,AddType
11-8.png
4,增加一个索引页
11-9.png

11.4.2重新加载配置

  • 注意:重新加载配置前一定要执行/usr/local/apache2.4/bin/apachectl -t来检查配置是否有问题
  • /usr/local/apache2.4/bin/apachectl graceful重新加载配置文件。
  • 重新加载配置文件不会重启服务。

11.4.3 开放80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

11.4.4 测试

1,在/usr/local/apache2.4/htdocs/目录下写一个脚本。

vi /usr/local/apache2.4/htdocs/
<?php
phpinfo()
?>

说明:phpinfo()这个函数是返回php的详情。

访问不了网站问题总结

1,响应时间过长
可能是由于端口没有开放
2,服务器未发送任何数据
可能是设置里Require 被拒绝,这里应该改为granted
3,网页显示源代码,说明php没有被解析,应检查以下几项:

  • /usr/local/apache2.4/bin/apachectl -M 看看有没有php5-moudule
    如果没有检查ls /usr/local/apache2.4/modules/libphp5.so文件
  • 如果有so文件,检查/usr/local/apache2.4/conf/http.conf配置文件LoadModule里有没有
    11-10.png
  • 配置文件中AddType有没有加php解析,注意空格位置

直播笔记

执行远程脚本

wget -O - 远程文件 |sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值