在虚拟机端搭建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上传成功就表示项目程序部署完成,接下来通过浏览器进行访问
8.142.162.236:80/www/install.php
在虚拟机端搭建lamp和通过docker技术在云服务器搭建lamp环境相关推荐
- w7服务器搭建网站教程,w7系统下的云服务器搭建教程
w7系统下的云服务器搭建教程 内容精选 换一换 使用云服务器备份创建镜像后,通过创建成功的镜像创建云服务器,但登录云服务器后提示系统进入维护模式,无法正常使用云服务器.当云服务器带有数据盘的时候,恢复 ...
- xampp搭建苹果服务器文件,云服务器搭建xampp
云服务器搭建xampp 内容精选 换一换 Discuz!论坛是全球成熟度最高.覆盖率最大的论坛软件系统之一.用户对论坛的访问可分为高峰期和平峰期,若论坛采用多服务器部署模式且满足高峰时期的负载需求,平 ...
- 私有云服务器搭建及ssh连接
私有云服务器搭建及ssh连接 一.私有云服务器搭建 1. 镜像选择 因为我这次搭建服务器就是为了项目部署,所以镜像我选择的是Ubuntu Server 18.04,大家可以去Ubuntu官网进行下载. ...
- 搭建个人网站 保姆级教程(一)云服务器购买以及环境部署
搭建个人网站 保姆级教程之云服务器购买以及环境部署 1. 云服务器 1.1 云服务器购买 1.2 云服务器远程连接 1.2.1 Mac系统 Royal TSX 下载安装 1.2.2 详细配置 1.2. ...
- 用云服务器搭建虚拟主机,用云服务器搭建虚拟主机
用云服务器搭建虚拟主机 内容精选 换一换 设置HECS登录密码设置Windows云服务器登录密码设置Linux云服务器登录密码登录HECS了解Windows云服务器的登录方式了解Linux云服务器的登 ...
- 微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建 通过采用微服相关架构构建一套以Kubernetes+Docker为自动化运维基础平台,以微服务为服务中心,在此基础之上构 ...
- 虚拟矿机服务器架设,云服务器搭建矿机
云服务器搭建矿机 内容精选 换一换 在专属主机资源上创建云服务器失败,可能由以下原因造成:您所选择的云服务器规格不在您已有的专属主机支持范围内.各类型专属主机支持的云服务器规格请参见概述.各类型专属主 ...
- 华为三台服务器虚拟化做集群怎样做,使用三台云服务器搭建真正的Redis集群
三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...
- 云服务器搭建配置以及服务器开发相关
Cloud Server Building and Server Development Relevant Resource Collection 云服务器搭建配置以及服务器开发相关 有用的参考链接 ...
最新文章
- 学习前端html 设置样式
- 原生JS实现的DOM操作笔记(草稿整理)
- python按比例生成数据组_基于python中的一个值生成“正态分布”数据
- 【数据库系统】O/R映射
- keras padding_GAN整体思路以及使用Keras搭建DCGAN
- leetcode力扣78. 子集
- 【python】读取json文件
- 50 Most Frequently Used UNIX / Linux Commands (With Examples)
- 黑客挂马木马病毒研究 黑客木马的攻击与防止 木马的威力 木马运作流程 黑客的高明 社工学用户行为分析...
- 计算机维修需要工具,小200个电脑维护工具,都能去开个维修店了
- 微信文件夹的dat文件怎么打开_微信dat后缀的文件怎么打开
- 游戏攻略 Re:LieF ~親愛なるあなたへ~ (relief给挚爱的你)
- 寒武纪MLU270 平台 CNStream 学习记录
- 划分子网和构造超网(一)
- 测试心理素质的软件,心理素质测试
- 正则表达式在IE7浏览器出现校验结果不正确
- 常用校验方式以及优缺点(奇偶校验,CRC校验,校验和)
- 5招教你如何做用户行为分析
- Aegisub无法打开视频
- pyinstaller使用多帧ICO图标