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)


相关推荐

  • Windows服务器如何修改SQL server内存大小等设置

    Windows服务器如何修改SQL server内存大小等设置

  • goland2021.07激活码【最新永久激活】[通俗易懂]

    (goland2021.07激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS3…

  • Mybatis中Like 的使用方式以及一些注意点

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!模糊查询在项目中还是经常使用的,本文就简单整理Mybatis中使用Like进行模糊查询的几种写法以及一些常见的问题。使用Springboot简单配置一下Mybatis,然后进行说明。Springboot集成Mybatis这里就不做介绍了。初始数据方式一在Mybatis中的第一种写法: <!–有sq…

  • ARM9开发之学习过程总结[通俗易懂]

    ARM9开发之学习过程总结[通俗易懂]时至今日,与心爱的TQ2440相伴已有一年,从当初的一无所知到今天的得心应手,其间经历的种种,实在难以言表。这里先将我学习ARM中的整个过程总结一下,希望对刚接触的朋友有个提示作用,也希望高手不吝赐教,欢迎拍砖^_^。需要说明的是,这仅仅说是ARM,其间涉及到别的知识也是需要很多时间去学习的,这里我就不列举了。开发板的配套光盘有很多资料文档,在学习之前,大概浏览一下是非常不错的,强烈建议,特别是S3

  • 那年那兔那些事观后感600字_那年那兔那些事儿金句

    那年那兔那些事观后感600字_那年那兔那些事儿金句我们生活在现在,吃得饱穿的暖。但是总觉得自己很不幸福。需要那么努力的去奋斗。抱怨社会的不公平。然而世界上什么时候公平过。我们都快忘了从八国联军侵华的时候开始什么时候公平过。从有了人便有了三六九等谈什

  • Excel宏类型的转换「建议收藏」

    Excel宏类型的转换「建议收藏」FunctiongcVBCur(ByValvVariableAsVariant)AsCurrency’——————————————————————————————-‘Note   :Integra-t.comglobalFunction’—–

发表回复

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

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