Lamp架构_搭建java环境

Lamp架构_搭建java环境1、LAMP分别代表什么?2、Apache/MySQL/PHP各自有什么作用?2.1Apache(httpd)—–像极了饭店前台2.2PHP-像极了服务生2.3MySQL数据库-像极了厨师3、LAMP架构是什么?-像极了饭店LAMP环境部署1、任务具体要求2、架构分析3、效果预览4、项目实施4.1环境准备4.2安装Apache(httpd)软件4.3安装PHP相关软件4.4安装MySQL数据库软件…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

LAMP动态网站架构

LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。

1、LAMP分别代表什么?

  • L代表服务器操作系统使用Linux
  • A代表网站服务使用的是Apache软件基金会中的httpd软件
  • M代表网站后台使用的数据库是MySQL数据库
  • P代表网站是使用PHP/Perl/Python等语言开发

    image.png

    Lamp架构_搭建java环境

2、Apache/MySQL/PHP各自有什么作用?

2.1 Apache(httpd)—–像极了饭店前台

  • 作用:提供web服务,接受用户的连接请求

    Lamp架构_搭建java环境

    http

  • 注意:Apache或Nginx都只支持静态页面的解析

当客户端请求的是静态资源时,web服务(httpd程序),会直接返回静态资源给客户端

①静态网页

  • 静态网页指使用HTML(超文本标记语言)编写,一般后缀为.htm,.html等;网页文件中没有程序代码。
  • 静态页面,用户双击打开,看到的效果与web服务器是相同的,因为网页的内容在用户访问之前就已经确定。

②动态网页

  • 动态网页指网站使用特定的编程语言编写,网页文件中除了HTML标记以外,还包括一些实现特定功能的程序代码。
  • 服务端可以根据客户端的不同请求动态产生网页内容。
  • 动态网页后缀一般为.php .asp .aspx .cgi .perl .jsp等
  • 常见的留言板,论坛,注册,发帖都是用动态网页实现的。

③小结提问
1)什么是web服务?
答:提供网页浏览功能的服务。
即安装并启用web服务软件如:httpd/nginx等软件。客户端可以通过浏览器访问网站。

2)什么是web服务器?
答:简单来理解就是安装web服务软件,并能够提供web服务的机器。

3)Web一般是分为客户端与服务器端,两者是如何交互的?
答:通过HTTP协议。例如:http://www.hanzz.red

4)Aapche(httpd)能不能解析动态网页?
答:不能,Apache负责静态页面的解析。

2.2 PHP – 像极了服务生

  • 作用:PHP主要负责PHP脚本程序的解析以及实现与MySQL数据库的交互工作,动态页面中的注册/登陆/下单/支付等大多数功能都是基于PHP+MySQL进行实现。PHP是一种通用开源脚本语言。

    Lamp架构_搭建java环境

    php

1、当客户端请求的是动态资源时,apache(httpd程序)会调用libphpX.so模块进行相应的解析
2、如果解析处理需要用到后台数据库相关数据,此时php程序也会连接后台数据库
3、最终php程序将解析后的结果返回给apache(httpd程序),让apache返回给客户端

2.3 MySQL数据库 – 像极了厨师

  • 作用:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。其主要作用用于永久的存储数据

    mysql

Lamp架构_搭建java环境

3、LAMP架构是什么?- 像极了饭店

Lamp架构_搭建java环境

lamp-example

 

Lamp架构_搭建java环境

image.png


LAMP环境部署

任务背景
小韩经过一段时间学习,慢慢了解到公司的一些业务架构,发现好几个项目不是LAMP架构就是Nginx+Tomcat。于是小韩决定,慢慢的吃透这些架构,先学习LAMP架构,再研究Nginx+Tomcat架构。所以,小韩就给自己定一个任务,在自己的虚拟机环境下,构建LAMP环境。由于自己所维护的业务正好是一个电商平台,决定上线一个电商项目。

任务需求

1、任务具体要求

  • 使用yum(dnf)工具一键部署LAMP环境
  • 发布电商项目上线
    • 能够实现web界面注册会员账号
    • 能够实现web界面进行后台商品及会员的管理

2、架构分析

网上商城主要基于PHP+MySQL进行设计。
页面编写语言:PHP语言 -(服务生)负责解析动态页面,同时实现数据库的交互工作
数据库系统:MySQL -(厨师)负责存储数据,并提供用户请求的数据
web服务:Apache(httpd)-(前台)负责与客户端建立连接,使客户端能够访问网页。

3、效果预览

Lamp架构_搭建java环境

image.png

 

Lamp架构_搭建java环境

image.png

 

Lamp架构_搭建java环境

image.png

4、项目实施

4.1 环境准备

  • 关闭防火墙和selinux
systemctl stop iptables ebtables firewalld	#关闭三个防火墙

systemctl disable iptables ebtables firewalld	#禁止三个防火墙开机自启动

[root@hzz ~]# getenforce 			#查看selinux状态enforcing为强制模式,需修改为关闭状态disabled
Enforcing

[root@hzz ~]# setenforce 0			#先使用此命令临时修改selinux为宽容状态,此状态不影响服务正常运行
[root@hzz ~]# getenforce 
Permissive

[root@hzz ~]# vi /etc/selinux/config		#修改selinux配置文件将SELINUX=enforcing修改为disabled
vi编辑器按i键进行编辑,编辑完成后按Esc键退出编辑模式,开启大写按ZZ(两个z键)保存
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
  • 配置本地yum仓库
    • 挂载光盘镜像
[root@hzz ~]# lsblk 				#此命令查看磁盘分区,找到sr0光盘镜像
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sr0            11:0    1  3.8G  0 rom  

[root@hzz ~]# mount /dev/sr0 /mnt/		#将光盘镜像挂载到/mnt目录下,但这是临时挂载重启就失效
mount: /dev/sr0 写保护,将以只读方式挂载

[root@hzz ~]# echo "mount /dev/sr0 /mnt" >> /etc/rc.local #将挂载命令写入开机自动运行的文件内
[root@hzz ~]# ll /etc/rc.local 			#查看执行权限
lrwxrwxrwx. 1 root root 13 2月  10 16:02 /etc/rc.local -> rc.d/rc.local
[root@hzz ~]# ll /etc/rc.d/rc.local 		#查看链接文件源文件的执行权限
-rw-r--r--. 1 root root 493 2月  11 09:53 /etc/rc.d/rc.local
[root@hzz ~]# chmod +x /etc/rc.d/rc.local	#添加执行权限
[root@hzz ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 493 2月  11 09:53 /etc/rc.d/rc.local

永久挂载完成
  • 配置yum源
[root@hzz ~]# vi /etc/yum.repos.d/hzz.repo	#编写一个yum源的文件,将下面内容复制进去

[hzz]
name=hzz
baseurl=file:///mnt
gpgcheck=0
enabled=1

[root@hzz ~]# yum clean all			#清除yum缓存
此处输出省略

[root@hzz ~]# yum repolist all			#列出yum信息有我们刚创建的本地yum源
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
hzz                                       | 4.1 kB     00:00     
(1/2): hzz/group_gz                         | 137 kB   00:00     
(2/2): hzz/primary_db                       | 4.0 MB   00:00     
源标识                      源名称                    状态
hzz                         hzz                       启用: 4,986
repolist: 4,986

4.2 安装Apache(httpd)软件

[root@hzz ~]# yum -y install httpd*

4.3 安装PHP相关软件

[root@hzz ~]# yum -y install php*

4.4 安装MySQL数据库软件

[root@hzz ~]# yum -y install mariadb*

4.5 启动web和MySQL服务

[root@hzz ~]# systemctl start httpd

[root@hzz ~]# systemctl start mariadb

[root@hzz ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

[root@hzz ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

  • 初始化一下数据库
//初始化一下数据库 每一步我都会给注释
[root@Cloud ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):  #这里直接回车 因为初始数据库没有密码
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y #这里问你要不要设置一个root密码,例如123。这个密码记好 后面要用到的
New password:     #输入新密码
Re-enter new password:     #重复输入
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y  #问你要不要去掉匿名用户 建议选择y去掉
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n  #要不要禁止root远程登录 我这里没有禁止
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y #要不要删除测试用的数据库。这个库没啥用 直接删掉算了
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y #要不要刷新一下授权表。这里y刷新一下 因为改了密码
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB! 
弹出Thanks for using MariaDB之后我们就可以使用了

4.6 测试是否能够解析php页面

[root@hzz ~]# vi /var/www/html/test.php		#编辑一个php文件将下面代码复制进去
<?php
phpinfo();
?>

4.7 商城项目上线

  • 点击网址下载商城源码,解压源码将源码上传至服务器站点目录

下载地址: http://www.phpshe.com

  • 修改站点目录的所有者和所有组为apache
[root@hzz ~]# chown -R apache.apache /var/www/html/

4.8 安装商城系统

Lamp架构_搭建java环境

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181176.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spidermonkey php,javascript SpiderMonkey中的函数序列化如何进行_基础知识[通俗易懂]

    spidermonkey php,javascript SpiderMonkey中的函数序列化如何进行_基础知识[通俗易懂]在Javascript中,函数可以很容易的被序列化(字符串化),也就是得到函数的源码.但其实这个操作的内部实现(引擎实现)并不是你想象的那么简单.SpiderMonkey中一共使用过两种函数序列化的技术:一种是利用反编译器(decompiler)将函数编译后的字节码反编译成源码字符串,另一种是在将函数编译成字节码之前就把函数源码压缩并存储下来,用到的时候再解压还原.如何进行函数序列化在Spider…

    2022年10月10日
    3
  • RELU激活函数作用「建议收藏」

    RELU激活函数作用「建议收藏」梯度消失现象:在某些神经网络中,从后向前看,前面层梯度越来越小,后面的层比前面的层学习速率高。梯度消失原因:sigmoid函数导数图像导数最大为0.25&lt;1权重初始值通常使用一个高斯分布所以|w|&lt;1,所以wjσ′(zj)&lt;0.25,根据链式法则计算梯度越来越小。由于层数的增加,多个项相乘,势必就会导致不稳定的情况。sigmoid激活函数的…

    2022年6月16日
    34
  • RGB颜色值转十六进制颜色值

    RGB颜色值转十六进制颜色值

    2021年8月31日
    65
  • 数据挖掘的过程有哪些[通俗易懂]

    数据挖掘的过程有哪些[通俗易懂]  随着大数据时代的到来,各行各业都无法避免数据洪流的洗礼,一场无声的数据变革在悄然发生。谁能更好地将隐藏在数据背后有价值的信息挖掘出来,就意味着谁能在这种变化中获得主动权,能更快更好地发展。在这背景下,加强对大数据挖掘已成为许多企业迫切需要进行的任务。  以下将从数据挖掘的概念、数据挖掘分类和数据挖掘过程三个方面进行分析,帮助您更好地理解数据挖掘。  一、数据挖掘的概念  数据挖掘是指从数据库的大量数据中揭示隐含和潜在信息的非凡过程。从数据中获取有用的信息和知识,协助事务运作,改进商品,协助企

    2022年6月23日
    31
  • pta 列车调度_数据结构/PTA-列车调度/栈/数组

    pta 列车调度_数据结构/PTA-列车调度/栈/数组火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N(2≤…

    2022年7月26日
    10
  • Decorator 单一职责模式[通俗易懂]

    Decorator 单一职责模式[通俗易懂]单一职责模式动机模式定义案例结构要点总结笔记动机在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多的子类的膨胀如何使“对象功能的扩展”能够根据需要来动态实现?同时避免”扩展功能的增多“带来的子类膨胀问题?从而使得任何任何”功能扩展变化“所导致的影响将为最低?模式定义动态(组合)地给一个对象增加一些额外的职责。就增加功能而言Decorator模式比生成子类

    2022年8月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号