在虚拟机端搭建lamp和通过docker技术在云服务器搭建lamp环境

 

一.搭建LAMP环境--->部署WEB程序

1.LAMP环境作用(重点掌握)

L:Linux操作系统,提供了项目部署时所需要的操作系统环境

A:Apache服务器:WEB应用程序的服务器,提供软件源文件的存放地,提供了程序访问时所需要的端口(接口)

M:MySQL数据库,提供项目或者程序在使用时数据的存储与解析的工作

P:PHP/Python开发语言,提供软件或者项目程序部署时所需要的开发环境的支持

概述:LAMP环境,主要给WEB端应用程序(各种类型的网站项目),提供了一个部署安装和使用的平台。

解释:可以理解为:只要把这四个软件安装完成,就形成了LAMP环境,环境有了之后,只需要把WEB应用程序对应的源文件,部署在apache服务器上即可,这样用户就可以直接访问该网站。

2.LAMP环境搭建过程(了解)

--->关注点:搭建流程(先做什么,在做什么,最后做什么)

2.1安装L:centos7

2.2安装A:apache服务器

因为是软件的在线安装,需要借助yum命令来完成,最低版本的使用:centos7,所以在部署之前,先查看当前系统是否满足于环境的需求

查看系统版本的命令

cat   /etc/redhat-release

2.2.1安装apache服务器--->在Linux系统中映射名字:httpd

yum  install  httpd  httpd-devel    

不仅安装apache,还把相关的开发工具包(devel)一并做安装

2.2.2启动apache服务器

systemctl  用来对系统中服务的管理操作

systemctl  start  httpd

2.2.3设置apache为开机自启动

systemctl  enable   httpd

2.2.4查看apache状态(有没有被运行)  ---->可选可写

systemctl  status  httpd

status:状态意思

2.2.5防火墙设置开放访问端口(80端口)

a.开启http访问端口

firewall-cmd   --permanent   --zone=public    --add-service=http

--permanent:永久的    --zone=public  公开的

b.开启https访问端口

firewall-cmd   --permanent   --zone=public    --add-service=https

2.2.6防火墙进行重新加载

firewall-cmd  --reload

2.2.7查看端口的信息  ---->可选可写

netstat    -tulp

2.2.8通过浏览器来访问apache服务器(ip地址)--->可选可写

centos7:ip  addr  查看网络配置信息

获取到ip之后,通过粘贴到浏览器url地址栏,进行访问

第七步和第八步是为了验证安装apache完成之后,对应的服务以及端口是否设置完善。

2.3安装M:MySQL数据库

2.3.1安装MySQL数据库--->MariaDB

yum  install  mariadb  mariadb-server   mariadb-libs  mariadb-devel

mariadb-server:数据库服务

mariadb-libs:数据库相关的库文件

mariadb-devel:数据库工具包

2.3.2启动数据库的服务

systemctl  start  mariadb

2.3.3设置数据库服务开机自启动

systemctl  enable  mariadb

2.3.4查看mariadb数据库的状态---->可选可写

systemctl  status   mariadb

.3.5修改一下数据库登录密码(MySQL:用户:root)

概述:对数据库进行安全设置,初始化数据库root用户的密码

mysql_secure_installation

执行完上述命令,第一次的提示,直接按下"Enter",继续执行

设置完密码之后,一路回车,直到提示完成相关配置!

2.3.6验证数据库是否安装成功,并能进行登录 ---->可选可写

mysql  -u用户名  -p密码

例:mysql  -uroot  -p123456

exit  退出数据库

2.4安装P:php

2.4.1安装php

yum  -y  install   php

2.4.2安装PHP与MySQL数据库环境交互的组件

yum  -y  install  php-mysql

2.4.3安装PHP相关的组件,以便适配不同的WEB项目应用程序

 yum -y  install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath

2.4.4验证PHP环境----->可选可写

PHP编程语言--->适用于WEB端应用程序开发

a.写一个php页面(网页)

b.apache服务器在系统中,提供WEB端应用程序的存放目录:

/var/www/html  ----->程序源文件的存放地

c.进入该目录,编写一个php页面

cd    /var/www/html

vi  info.php

内容:

<?php

phpinfo();

?>

phpinfo()方法--->作用:显示php相关的属性信息

d.页面编写完成,通过浏览器来进行访问

ip地址/info.php

注意:如果访问不到,重启服务器:systemctl   restart  httpd

二.VM TOOLS工具的安装与使用

前提:因为虚拟机中的操作系统,默认和物理机的操作系统之间,是没有任何关系的,两者互不影响,独立运行。如果想要实现虚拟机中的操作系统,和物理机的操作系统之间的交互(文件资源的共享,相互之间的访问操作等),那么就可以借助于VMWare  TOOLS工具。

作用:实现虚拟机中操作系统和物理机中操作系统之间的交互

选择"虚拟机"--->安装VMWare TOOLS选项

三.AMP环境---->WEB端应用程序提供安装和部署的整体使用环境

需求:把biaodan.html网页,部署在apache服务器上,通过浏览器来进行访问

1.把biaodan.html    复制到   /var/www/html/目录中

2.有时候直接访问时,会受到访问权限的影响,所以在访问之前可以更改一下biaodan.html文件的权限   777

chmod  777  biaodan.html       ------>可选可写

3.通过ip地址/biaodan.html进行访问

一.docker技术的认识

1.docker的发展历程:

docker,被称为虚拟化容器技术,它的前身是dotcloud公司--->平台即服务,dotcloud最初采用的是Linux的容器技术--->用来封装程序以及程序相关的环境,后来为了方便管理这些容器,就开发了一套内部的工具---->docker。

2.docker的描述

docker技术,可以看成是logo的货轮(鲸鱼),相当于给提供了一个平台,在平台上有很多的集装箱---->容器,可以在容器中封装各种项目环境,集装箱与集装箱之间没有任何联系,互不影响,容器之间的环境是相互独立的。

二.Docker和虚拟机对比

相同点:都是基于硬件平台,放在操作系统中来使用(都是安装在主机的操作系统中)

不同点:虚拟机的使用,是需要借助于第三方软件,比如VM,如果想要部署程序项目,安装完VM之后,需要再来进行操作系统的安装(centos7),相对来说,比较消耗资源--->安装centos,内存建议大小20G,系统安装完成之后再来进行环境的搭建(LAMP环境),最后才能进行项目部署,整个过程对于资源的消耗较为严重,也比较笨重。

docker的使用,只需要直接进行安装---->docker平台---->利用容器---->封装各种程序以及程序相关的资源环境

三.docker的优点:

1.能够节约环境部署的时间成本

2.部署一次,可以在任意具有docker平台上来使用对应的环境(跨平台操作)

3.更高的资源利用率(例:docker要部署10个项目,只需要10个容器即可,而虚拟机有可能需要部署10个操作系统来完成)

可移植性---->指的就是跨平台性,docker既可以在win系统中使用,也可以在Linux系统中使用

四.Docker版本

1.docker  ce    社区版     免费使用

2.docker  ee    企业版     收费

docker ce的使用,最低系统的版本是centos7

五.docker环境部署

放在云服务器中centos系统来进行安装和使用

1.云服务器:相当于是一台没有显示器的电脑,只有主机,然后在主机中安装不同的操作系统来做事情,所以,云服务器的第一层扩充,还是操作系统。

2.关于云服务器的操作

2.1先登录阿里云服务器官网------>控制台

云服务器后台:

需要大家掌握的两个操作:

a.如何更换云服务器的操作系统?

首先,停止正在运行的系统

然后,来到配置信息模块,选择"更多"---->"更换操作系统"

b.如何重置实例密码(root/administrator用户密码)

在基本信息模块,选择"更多"---->"重置实例密码"

3.配置完成,如何连接到云服务器(的操作系统)?

借助于第三方软件:finalshell,xshell....

finalshell软件:用来连接云服务器的

安装finalshell软件,下一步即可,如果电脑中有杀毒软件提示禁止,全部改成允许

安装完成后,连接云服务

4.安装docker

4.1查看系统的版本(可选可写)

cat   /etc/redhat-release

[root@iZ8vbht59d65pa7b2769jlZ /]# cat  /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

4.2为了避免docker安装过程出现问题,建议把系统的软件包做一次更新(可选可写)

yum  -y  update

[root@iZ8vbht59d65pa7b2769jlZ /]# yum -y  update

4.3更新完成后,系统重启(可选可写)

reboot

4.4重启系统后,就可以安装docker

yum  -y  install   docker

4.5安装完成后,可以查看docker版本(验证)

docker   version

[root@iZ8vbht59d65pa7b2769jlZ ~]# docker  version

Client:

 Version:         1.13.1

 API version:     1.26

 Package version:

4.6启动docker服务

systemctl    start    docker

4.7将docker服务添加到开机自启动

systemctl   enable    docker

[root@iZ8vbht59d65pa7b2769jlZ ~]# systemctl  enable  docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

5.docker平台有了之后,就可以借助于平台提供的容器,来封装程序以及相关的环境

5.1容器中LAMP环境的搭建方式:找到一个镜像文件--->包含了LAMP环境,直接来使用

docker  search  -s   10  lamp

搜索收藏量或者使用量大于10的lamp镜像文件

[root@iZ8vbht59d65pa7b2769jlZ ~]# docker  search   -s  10   lamp

Flag --stars has been deprecated, use --filter=stars=3 instead

INDEX       NAME                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

docker.io   docker.io/mattrayner/lamp   A simple LAMP docker image running the pre...   289                  [OK]

docker.io   docker.io/linode/lamp       LAMP on Ubuntu 14.04.1 LTS Container            181                  

docker.io   docker.io/tutum/lamp        Out-of-the-box LAMP image (PHP+MySQL)           148                  

docker.io   docker.io/fauria/lamp       Modern, developer friendly LAMP stack. Inc...   111                  [OK]

docker.io   docker.io/greyltc/lamp      a super secure, up-to-date and lightweight...   103                  [OK]

docker.io   docker.io/lioshi/lamp       Docker image for LAMP under debian              14                   [OK]

docker.io   docker.io/dgraziotin/lamp                                                   11                   [OK]

5.2找到相关的lamp镜像文件后,就可以进行下载

docker   pull    镜像文件名字

docker  pull  docker.io/tutum/lamp    

下载lamp镜像

5.3下载完成后,可以查看镜像文件

docker  images

[root@iZ8vbht59d65pa7b2769jlZ ~]# docker  images

REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE

docker.io/tutum/lamp   latest              3d49e175ec00        5 years ago         427 MB

5.4lamp镜像文件下载完成后,就可以把该文件封装的lamp环境,放入到容器中

5.4.1在本地先创建一个目录,目的是为了和容器做交互,分摊容器的使用压力

mkdir   /mysql_data

5.4.2把lamp环境,放入到(运行在)容器中

docker  run   -d  --name=lamp   -p  8080:80  -p  3306:3306   -v  /mysql_data:/var/lib/mysql       docker.io/tutum/lamp

把下载的镜像文件( docker.io/tutum/lamp)中包含的lamp环境,运行在名字为lamp的容器中,并设置服务器的端口8080和80,以及mysql数据库的端口3306

[root@iZ8vbht59d65pa7b2769jlZ ~]# docker run  -d  --name=lamp  -p  8080:80  -p  3306:3306  -v  /mysql_data:/var/lib/mysql  docker.io/tutum/lamp

99813e3c1a5636689fa45ca289749d322110d553590c73201cae2ea9fb16ef76

5.4.3lamp环境放入容器之后,接下来,就可以进入该容器中进行一系列的设置

进入lamp容器:docker  exec  -it  lamp   /bin/bash

[root@iZ8vbht59d65pa7b2769jlZ ~]# docker  exec  -it  lamp  /bin/bash

root@99813e3c1a56:/#

5.4.4进入容器之后,初始化数据库设置(设置root用户密码)

mysql_secure_installation

注意:第一次的提示,直接回车,第二次才是进行密码设置操作

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

以上步骤的完成,代表着容器中已封装好lamp环境,接下来只需要把相对应的程序项目部署进来即可

5.5在容器中,进入/var/www/html目录中,进行程序源文件存放

cd     /var/www/html

root@99813e3c1a56:/# cd  /var/www/html

root@99813e3c1a56:/var/www/html# ls

LICENSE  README.md  index.php  logo.png  phpinfo.php

5.6怎么把程序项目,放入到容器中?

程序相关的文件:是在本地win系统中

程序文件:win系统---->云服务器操作系统(centos)---->转移到容器里面

这个过程就需要借助于第三方工具:WinSCP

WinSCP软件作用:实现本地系统与服务器系统之间的交互

安装WinSCP,下一步即可,如果有杀毒软件禁止,全部改成允许

左边是本地win系统,右边是服务器端的centos系统

直接把本地要放入centos系统的文件,拖拽进来即可

文件放入centos系统中,接下来就可以把文件转移到容器里面

在winscp中菜单栏,找到"打开终端"按钮

在控制台中输入复制文件到容器的命令:

docker  cp   /biaodan.html   lamp:/var/www/html/

执行完成,ls可以进行查看

root@99813e3c1a56:/var/www/html# ls

LICENSE  README.md  biaodan.html  index.php  logo.png  phpinfo.php

如果ls能在容器中查看到复制过来的文件,就代表着文件放入成功

5.7在正式访问之前,需要在云服务器端,开放两个端口:80,8080

选择"本实例安全组"

选择"配置规则"

选择"添加安全组规则"

5.8端口号开放完成,就可以通过浏览器进行访问

云服务器公网ip地址:8080/biaodan.html

http://8.142.162.236:8080/biaodan.html

=================================================

练习:在容器的lamp环境中,部署chanzhi的博客论坛WEB项目

1.先把chanzhi系统源文件,上传到centos系统中

1.1先解压项目的压缩包

1.2合并文件夹,把system文件夹放入到www里面

1.3把合并后的www文件夹,上传到centos系统

1.4上传完成之后,在正式放入容器之前,修改www文件夹权限,把所有的权限都添加上

1.5权限修改完成,就可以复制该文件夹到容器中

在winscp中菜单栏中,打开终端,输入命令:

docker  cp   /www    lamp:/var/www/html/

执行完成之后,在容器中通过ls查看:

 root@99813e3c1a56:/var/www/html# ls

LICENSE  README.md  biaodan.html  index.php  logo.png  phpinfo.php  www

当看到www文件夹,就代表上传成功

1.6上传成功就表示项目程序部署完成,接下来通过浏览器进行访问

公网的IP地址:80/www/install.php

8.142.162.236:80/www/install.php

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值