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环境

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 联合索引在B+Tree上的存储结构及数据查找方式[通俗易懂]

    联合索引在B+Tree上的存储结构及数据查找方式[通俗易懂]最困难的事情就是认识自己!个人网站,欢迎访问!前言:本篇文章主要是阐述下联合索引在B+Tree上的实际存储结构。本文主要讲解的内容有:联合索引在B+树上的存储结构联合索引的查找方式为什么会有最左前缀匹配原则在分享这篇文章之前,我在网上查了关于MySQL联合索引在B+树上的存储结构这个问题,翻阅了很多博客和技术文章,其中有几篇讲述的与事实相悖。具体如下:很多博客中都是说:联合索引在B+树上的非叶子节点中只会存储联合索引中的第一个索引字段的.

  • spring aop的五大通知类

    spring aop的五大通知类spring aop的五大通知类

  • Stm32的GPIO驱动继电器[通俗易懂]

    Stm32的GPIO驱动继电器[通俗易懂]三极管三极管S8050-D:直插的字体面向自己从左到右依次是发射极E,基极B,集电极C类型:NPN集电极耗散功率Pc:0.625W(贴片:0.3W)集电极电流Ic:0.5A集电极-基极电压Vcbo:40V集电极-发射极电压Vceo:25V集电极-发射极饱和电压Vce(sat):0.6V特征频率f:最小150MHz按三极管后缀号分为BCD档贴片为LH档放大倍数:B85-160C120-200D160-300L100-200H200-350上图中,左边的GPIO

  • 在线学习Java的几个网站,别再盲目学习java了![通俗易懂]

    在线学习Java的几个网站,别再盲目学习java了![通俗易懂]LearnJava在线这是一个非常不错的学习Java的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握Java编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。你可以根据目录进行练习,有基础部分和高级部分,首先有例子代码,告诉你需要注意的事项以及详细的讲解,旨在把你教会后再让你进行练习。下面就是练习部分,练习部分没有固定在底部边框,可以自由滑动,能够让你编写代码的同时能够查看示例代码详解

  • pgpstrom2021.5激活码[在线序列号]

    pgpstrom2021.5激活码[在线序列号],https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 图像的二维离散傅里叶变换的原理_怎么理解傅里叶变换

    图像的二维离散傅里叶变换的原理_怎么理解傅里叶变换链接:bbs.educhina.com/BLOG_ARTICLE_1789296.HTM转载于:https://www.cnblogs.com/linlin-myblog/p/4781470.html

    2022年10月29日

发表回复

您的电子邮箱地址不会被公开。

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