搭建LAMP环境

搭建LAMP环境

yum安装

相关命令
http配置文件:/etc/httpd/conf/httpd.conf
        http管理:service httpd start/stop/restart
http默认虚拟主机:/var/www/html

        mysql管理:service mysqld start/stop/restart
修改默认的root密码:/usr/bin/mysqladmin -u root password '123456'
        登录mysql:/usr/bin/mysql -u用户名  -p密码

本地安装

执行安装命令

#删除php相关文件
yum -y remove php*
#安装php
yum -y install php httpd mysql-server
#启动服务器
service httpd start
service mysqld start
#创建phpinfo文件
echo '<?php phpinfo();' > /var/www/html/index.php
将80 , 3306 添加到防火墙之外
vi  /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
service iptables restart  #重启防火墙
#设置访问端口vi /etc/httpd/conf/httpd.conf
#在277 行: ServerName localhost:80
ifconfig 查看ip地址 进行访问测试
外网安装

在外购买服务器,进行连接 执行安装命令

#删除php相关文件
yum -y remove php*
#更新yum源(默认yum源中无php7)
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
#安装php
yum -y install php70w httpd mysql-server
# 启动服务器 service httpd start
service mysql start
#创建phpinfo文件
echo '<?php phpinfo();' > /var/www/html/index.php
通过服务器的ip地址进行访问测试
#登录mysql  
mysql -uroot -p

源代码安装

源代码安装准备

先将3306端口和80添加到防火墙之外

vi  /etc/sysconfig/iptables
yyp.png

步骤二:重启防火墙

service iptables restart

步骤三:卸载默认安装的mysql和apache

步骤1:分别通过【rpm -qa | grep mysql】和【rpm -qa | grep http】查看已经安装的软件包名称
步骤2:通过【rpm -e 查看的包名 --nodeps】强制卸载
步骤3:再通过【rpm -qa | grep mysql】和【rpm -qa | grep http】检查是否全部卸载

步骤四:环境目录初始化

# 创建目录
mkdir -p /php/tools
mkdir -p /php/wwwroot
mkdir -p /php/server/php 
mkdir -p /php/server/mysql 
mkdir -p /php/server/apache
mkdir -p /php/server/data  # MySQL数据存放目录

步骤五: 通过WinSCP 将本地安装包上传到服务器/php/tools目录中

准备工作end--------------------------------------------

查看进程

   查看所有进程:ps  -A
   查看指定进程:ps  -A  |  grep   名称
   关闭进程:killall 名称
源代码一般安装步骤
   步骤1:解压                      (tar命令)
   步骤2:进入到解压目录     (cd命令)
   步骤3:配置(收集服务器信息、指定安装目录等)     
            ./configure --prefix=指定安装目录
   步骤4:编译                      (make)    
   步骤5:安装                     (make install)
mysql安装

安装mysql所需依赖

 yum -y install gcc gcc-c++ cmake ncurses-devel

安装mysql

cd /php/tools/mysql                         #进入tools目录
tar -zxvf mysql-5.6.35.tar.gz                #解压MySQL安装包
cd mysql-5.6.35                              #进入解压目录
#配置mysql :
(注: mysql 5.0以上配置文件使用cmake)
cmake \  #\ 代表命令未结束  将下面命令连贯起来
-DCMAKE_INSTALL_PREFIX=/php/server/mysql \
-DMYSQL_DATADIR=/php/server/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

安装:

make && make install (可能会安装很久 大约10分钟  根据网速不同而不同)
配置mysql

步骤1 : 赋值安装目录中的mysql配置文件

\cp -r /php/tools/mysql/mysql-5.6.35/support-files/my-default.cnf /etc/my.cnf

步骤2 : 修改mysql配置文件 (声明mysql数据存放目录)

vi  /etc/my.cnf  #打开配置文件
#在第19[mysqld]下设置这一行
datadir = /php/server/data

步骤3 : 创建mysql用户组并创建用户加入用户加入用户组

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql

步骤4 : 初始化数据库 (执行下述 会在data目录下生产mysql下生产mysql/test 等默认数据库)

/php/server/mysql/scripts/mysql_install_db \
--basedir=/php/server/mysql \
--datadir=/php/server/data \
--user=mysql

步骤5 : 启动mysql服务(注: &表示后台启动)

/php/server/mysql/bin/mysqld_safe --user=mysql &

步骤6 : 验证mysql服务是否启动成功(相当于 win查看进程)

ps -A | grep mysql

步骤7 : 初始化数据库,设置root账户的密码 (默认密码空)

/php/server/mysql/bin/mysql -uroot -p
#删除测试数据库 && 删除本机匿名连接的空密码帐号
drop database test;                           
delete from mysql.user where user='';  
# 修改密码
update mysql.user set password=password('admin888') where user='root';
flush privileges
安装Apache

安装 zlib (apache 所需依赖)

  cd /php/tools/apache                    #进入tools目录
  tar -zxvf zlib-1.2.5.tar.gz                 #解压zlib安装包
  cd zlib-1.2.5                           #进入解压目录
  ./configure                                 #这个配置编译命令不要加目录参数
  make && make install  

安装apache

  cd /php/tools/apache                    #进入tools目录
  tar  -jxvf  httpd-2.2.19.tar.bz2        #解压apache安装包
  cd httpd-2.2.19                         #进入解压目录
  #配置:
./configure --prefix=/php/server/apache \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so
#安装
make && make install

测试 :

vi /php/server/apache/conf/httpd.conf   

启动服务/停止/重启

/php/server/apache/bin/apachectl start 启动 / stop停止 / restart

查看ip地址 在浏览器中输入ip地址 看到 "it works!" 即成功

可在/php/server/apache/htdocs中的index.html中修改默认登录页
安装PHP

先通过 yum 安装 所需 文件

yum -y install libxml2 libxml2-devel

安装:

cd /php/tools/php
tar -jxvf php-7.2.6.tar.bz2 
cd php-7.2.6
#
./configure --prefix=/php/server/php \
--with-apxs2=/php/server/apache/bin/apxs \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-zlib \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared
#
make && make install
配置Apache 支持PHP

将php.ini配置文件到指定目录

\cp -r /php/tools/php/php-7.2.6/php.ini-development /php/server/php/lib/php.ini

修改Apache配置文件

 vi /php/server/apache/conf/httpd.conf
 #在httpd.conf(Apache主配置文件)中增加:
    AddType application/x-httpd-php .php

停止 并 启动Apache

/php/server/apache/bin/apachectl stop  # 停止
/php/server/apache/bin/apachectl start # 启动

写入内容并查看效果

echo '<?php phpinfo();' > /php/server/apache/htdocs/test.php
通过http://虚拟机IP
管理 优化 : 将apache mysql 加为系统服务
    发现:通过上述命令管理apache或mysql麻烦
    解决:加入系统服务,通过命令(service 服务名 start/stop/restart)管理
    步骤:百度CentOS下将apache添加到服务
#1.添加apache的服务脚本
    \cp -r /php/server/apache/bin/apachectl /etc/rc.d/init.d/httpd
    ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd
#2.编辑httpd脚本,在第二行添加如下注释信息
vi /etc/rc.d/init.d/httpd
    #Comments to support chkconfig on RedHat Linux
    #chkconfig: 2345 90 90
    #description:http server
#3.修改脚本使其支持chkconfig
    chkconfig --add httpd
    chkconfig --level 2345 httpd on
#4.重启服务
    service httpd restart
#CentOS下将MySQL添加到服务
#1.将mysql.server这个文件copy到/etc/init.d/目录下,并更名为mysql
    \cp -r /php/tools/mysql/mysql-5.6.35/support-files/mysql.server /etc/init.d/mysql
#2. 给mysql这个文件赋予“执行”权限 && 加入到开机自动运行
    chmod 755 /etc/init.d/mysql 
    chkconfig --add mysql
#3.重启服务
     service mysql restart  

通过LAMP一键安装包搭建

   步骤1:先给通过源代码编译安装好的Linux系统创建快照
   步骤2:回滚到初始化状态(准备通过一键安装包再次安装)
   步骤3:获取LAMP一键安装包安装

wget http://dl.wdlinux.cn:5180/lanmp_laster.tar.gz
tar zxvf lanmp_laster.tar.gz
sh lanmp.sh
#选择 1 
等待安装

通过Docker搭建LAMP环境

1、阿里云购买ubuntu系统

什么是Docker
Docker名词(技术),通过该技术可以快速搭建环境(可以理解为VM软件)
PHP名词(语言),通过该技术可以快速开发网站
原理
原理.png
安装Docker

检测是否安装docker软件

0.docker -v  如果下面显示 installed. You can install it by typing # 则未安装
步骤1 : "sudo wget -qO- https://get.docker.com/ | sh"
安装成功 ,出现warning忽略
步骤2 : sudo usermod -aG docker 当前用户名
docker -v  #在检测是否安装成功
语法 :
// 使用步骤:获取镜像(docker pull) -> 通过镜像创建带环境的系统(docker run) 
   命令
docker  pull     获取镜像(image)
docker  images  列出镜像(image)
docker  rmi     删除镜像(image)
docker  stop    container ID
docker  run     运行container (container在docker中可以理解为装好环境的系统)

--name                     自定义容器名称
-d                         容器后台运行   
-p 当前系统端口:容器端口   端口映射(容器内部端口映射外部)
-v 当前系统目录:容器目录   目录映射
docker  ps      列出container
开启和容器交互终端(进入容器)
docker  exec  -i -t  通过dockerps查看的name名  /bin/bash
搭建LAMP环境

从hub.docker.com 查看想要的版本

步骤 2 : 搭建

注:需要添加8083防火墙例外 (如何添加?) 在安全组里添加规则

#3.获取镜像
docker pull php:5.6.33-apache
#4.创建项目站点目录
sudo mkdir -p /www
sudo vi /www/index.php
#5.创建带有环境的系统
docker run -v  /www:/var/www/html  -p 8083:80 -d php:5.6.33-apache

常用命令

搜文件(find)

作用:搜索指定目录下的文件

语法:find 路径 -name 文件名

场景:新环境找mysql或apache配置文件

find / -name httpd.conf
find / -name my.cnf
find / -name passwd
搜文件内容(grep)

作用:匹配指定文件中的内容

语法:grep 参数 内容 路径及文件名

参数:i - 不区分大小写 v - 匹配除搜索的内容以外的数据

场景:项目BUG产生的日志搜索

grep -iv aa /t2.php  //v匹配除了内容以外的数据
grep aa / t2.php   检索出数据=aa
grep -i aa /t2.php  增加 i 参数 不区分大小写
grep.png
管道 ( | )

作用:将“|”左侧的数据,交给右侧进一步处理

语法:ls | grep 内容

语法:ls | more

管道.png
磁盘管理命令

语法 du -h

作用:查看 目录信息

cd /home
du -h

语法 : df -h

作用 : 查看磁盘信息

cd /home
df -h
进程管理
   查看所有进程:ps  -A
   查看指定进程:ps  -A  |  grep   名称
   关闭进程:killall 名称

挂载

什么是挂载
说明:在Linux插入外部设备无法直接访问,需要通过手动挂载到指定目录中才可以查看
挂载:将硬件设备对应文件名映射到指定目录下
语法 :
挂载:mount  设备文件  挂载目录
取消:umount 挂载目录
通过挂载光驱安装firfox
在虚拟机设置中 勾选连接

创建挂载目录并挂载

#步骤1:创建挂载目录或创建映射系统光盘/镜像的目录
    mkdir -p /mnt/cd
#步骤2:挂载(也就是将/dev/cdrom映射到/mnt/cd目录中)
    muunt /dev/cdrom/mnt/cd
#步骤3:验证
    /mnt/cd

挂载目录中的Fiefox (rpm包)

rpm -e  firfox -10.0.12-1.r16.centos.i686(rpm名称) --nodeps

安装firefox

rpm -ivh  firefox ........(名称).rpm(后缀)

Linux安装卸载软件不同方式优缺点(补充)

rpm 命令 (文件后缀 .rpm )
说明:安装简单,安装速度快 
缺点:自定义性差,依赖性强 
举例:比如安装 A 软件,提示先要安装B软件,安装B软件,又提示先安装C软件,安装C软件,又提示先安装D软件。
源代码编译安装 (文件后缀 .tar.gz 或者 .tar.bz2 )
说明:开源,自由定制 
缺点:编译时间较长(先将源代码->编译->二进制文件->安装),一旦报错解决相对困难
智能yum安装
好处:快速安装
缺点:要求服务器有网络,不灵活,不可以设置自己需要的具体软件版本。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容