LAMP的创建和简单应用

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

LAMP:

a:apache

m:mariadb, mysql

p:php, perl, python

LAMMP:令一个m是memcached

请求的资源类型:

静态资源:静态内容;客户端从服务器获得的资源的表现形式与原文件相同;

动态资源:通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端;

httpd+php:结合的三种方式

modules

cgi

fastcgi(fpm)

动态资源的请求流程:

请求流程:Client--> (http协议) --> httpd 服务器--> (cgi协议) --> application server (program file) --> (mysql协议) -->mariadb数据库

CentOS 7下进行操作:

程序包:httpd,php, php-mysql, mariadb-server

注意:php要求httpd使用prefork MPM

如果不是prefork MPM,需要修改/etc/httpd/conf.modules.d/00-mpm.conf改成prefork,然后重启httpd服务,php就启动了

启动服务:

systemctl start  httpd.service

systemctl start  mariadb.server

重启httpd服务,然后使用httpd  -M | grep php

systemctl  restart  httpd.service,查看php模块是否加载

然后在/www/htdocs(httpd配置文件中资源的目录)中把index.html改成index.php,然后编辑,重载服务然后进行测试

这说明php环境已经准备好了

下面打开数据库服务器

然后直接mysql就可以连接上了

然后在index.php中添加代码,连接到mariadb数据库,测试能否连上

证明连接成功了

然后把数据库服务停掉systemctl stop mariadb.service,在连接下

这样在CentOS7中,LAMP环境就准备好了

就可以安装一些客户端程序了

数据库(mariadb):

关系型数据库的常见组件:

数据库:database

表:table

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege

存储过程:procedure

存储函数:function

触发器:trigger

事件调度器:eventscheduler

mysql_secure_installation:安全初始化

SQL语句:用来管理数据库的语句

数据库组件:数据库、表、索引、视图、用户、权限

存储过程、存储函数、触发器、事件调度器

创建数据库、设计数据表

字段:字段名、数据类型、数据类型修饰符、约束

DDL、DML、DCL

DDL:CREATE、DROP、ALTER

DML:INSERT(REPLACE)、DELETE、UPDATE、SELECT

DCL:GRANT,REVOKE

CREATE DATABASE [IF NOT EXISTS] ‘db_name‘;创建数据库

创建用户账号:

CREATEUSER ‘username‘@‘host‘ [IDENTIFIED BY ‘password‘];

删除用户:

DROPUSER ‘username‘@‘host‘;

授权:

权限级别:管理权限、数据库、表、字段、存储例程;

GRANTpriv_type,... ON [object_type] db_name.tb_name TO ‘user‘@‘host‘ [IDENTIFIED BY‘password‘] [WITH GRANT OPTION];

priv_type:ALL [PRIVILEGES]

db_name.tb_name:

*.*:所有库的所表;

db_name.*:指定库的所有表;

db_name.tb_name:指定库的指定表;

db_name.routine_name:指定库的存储例程;

查看指定用户获得的授权:

SHOWGRANTS FOR ‘user‘@‘host‘;

SHOW GRANTS FOR CURRENT_USER;

回收授权:

REVOKEpriv_type, ... ON db_name.tb_name FROM ‘user‘@‘host‘;

创建表:

CREATETABLE [IF NOT EXISTS] ‘tbl_name‘ (col1 type1, col2 type2, ...)

删除表:DROPTABLE [IF EXISTS] ‘tbl_name‘;

修改表:ALTER TABLE ‘tbl_name‘

索引:

索引是特殊数据结构;定义在查找时作为查找条件的字段;

索引:要有索引名称;

创建索引:

CREATEINDEX index_name ON tbl_name (index_col_name,...);

删除索引:

DROPINDEX index_name ON tbl_name;

数据库还有很多命令就不一一介绍了

下面以几个实例来演示LAMP的创建和应用

在CentOS7中实现3个虚拟主机,完成要求的功能;

vhost1: pma.stuX.com, phpMyAdmin, 同时提供https服务;

vhost2:wp.stuX.com, wordpress

vhost3:dz.stuX.com, Discuz

首先确认LAMP的基础环境是搭建好的,php能访问,数据库是否能正常连接。(文章开始有演示);

然后就下载phpMyAdmin,wordpress,Discuz

三个软件包,然后解压和移到httpd配置文件中的资源目录的那个路径下,即/web/vhosts/目录下

然后把修改httpd的配置文件把中心主机禁掉,就是(/etc/httpd/conf/httpd.conf)中DocumentRoot这一行,

然后再/etc/httpd/conf.d/创建一个virtualhost.conf的文件,然后做3个虚拟主机,每个对应一个软件

要保证主配置文件中的<Directory “/web/vhosts”这个路径跟虚拟主机的DocumentRoot的文件同目录

然后把这三个软件phpMyAdmin  wordpress  Discuz的文件复制到 /web/vhosts中

然后配置这些软件的配置文件

然后复制pma下的config.sample.inc.php 到本目录下,然后改名为config.inc.php,然后修改config.inc.php文件

使用命令tr -d ‘a-zA-Z0-9‘ < /dev/urandom | head -30 | md5sum生成一些随机数,填到下面,然后保存

然后重启服务,设置数据库

首先mysql进入,然后给root用户设置密码

然后给wpuser授权,创建用户

然后在里面 在输入命令FLUSH  PRIVILEGES 同步一下

这个数据库的名字密码要和wordpress软件配置文件中的相同

这样数据库就做好了

然后在物理机中,修改hosts文件,加入

172.16.249.195  pma.stu999.com

172.16.249.195  wp.stu999.com

172.16.249.195  dz.stu999.com

然后访问测试下

输入用户名和密码就可以进入数据库,管理数据库了

下面对pma.stu999.com做https,使用openssl命令

首先172.16.249.114创建一个CA,然后自签证书,然后再给172.16.249.195签证

首先找到CA目录,然后生成私钥(umask077 ;openssl genrsa –out private/cakey.pem 2048 ),然后创建自己的签名 opensslreq -new -x509 -key private/cakey.pem -out cacert.pem -days 7300

这样自己的证书创建好了

然后在172.16.249.195上创建证书,然后去找CA签证;首先创建csr文件,然后发给CA,CA签名后,在送还给172.16.249.195

把证书发给CA

CA签名,然后送回证书

CA签名前要创建一个文件touch  index.txt 给serial一个数字 echo 01>serial

这签名成功了,然后还给172.16.249.195

然后在172.16.249.195中配置/etc/httpd/conf.d/ssl.conf文件

指定证书和私钥的路径

把pma.stu999.com这个虚拟主机加入/etc/httpd/conf.d/ssl.conf文件中

然后把/etc/httpd/conf.d/virtuahost中的pma.stu999.com这个虚拟主机的注释掉

重启服务,然后把CA的证书cacert.pem复制出来重命名为cacert.crt,加入物理机的可信任证书列表里,在浏览器的设置中,进行测试

这样pma.stu999.com 这个虚拟主机的https就做好了

这样整个题目就做完了,这是在本人测试的环境下做的,如果不是CentOS7可能步骤不一样。

如有批评和建议可以留言。

时间: 2024-11-05 21:41:09

LAMP的创建和简单应用的相关文章

LAMP的实现及其简单应用

前言: LAMP即Linux+Apache+Mysql+PHP,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注.从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案. 环境: 操作系统C

IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程

一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 2.2项目部署 在工具栏点击 Project: 无需任何设置,选择默认编译目录(或自定义编译目录) Modules: 将Tomcat加入 Libraries:无需任何设置.这里描述了此项目的依赖. Facets: 无需任何设置.这里描述了此项目所适配的服务框架 Artifacts: 无需任何配置.

mysql 如何创建一个简单的存储过程

1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test'4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello'; 5 存储过程创建完毕,看怎么调用它 mysql>call hi();显示结果 mysql> call hi(); +-------+ | hello | +-------+

ROS学习(三)——创建一个简单的发布节点和订阅节点

暑假在家有些懈怠,不,非常懈怠- -||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了 ,这次特意弄个最最基础的,恢复一下,以前的进度. 1.建立一个工作空间 $ mkdir -p ~/catkin_xi/src $ cd ~/catkin_xi/src 在home文件夹里面发现新建好了相应的文件夹,当然里面,空空的,什么都没有. 接着,使用catkin_make命令在catkin 工作空间中新建文件夹,当前目录应该能看到'buil

《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型 (转)

第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如

如何利用CEF3创建一个简单的应用程序 (Windows Platform)

1. 说明 这篇文章主要讲述如何利用CEF3来创建一个简单的应用程序,引用的是1535及以上版本中包含的 Cefsimple 项目例子.如果想知道关于CEF3更多的使用方法,可以去访问 GeneralUsage. 2. 开始 首先,根据自身所使用的开发平台,可以去 这里 下载对应的发布版本.针对这个教程,我们需要下载1750或者更新的版本.当前支持的平台有Windows, Linux和Mac OS X.每一个版本都包含了当在特定平台上编译特定版本CEF3时所需要的所有文件和资源.您可以通过包含在

[安卓基础] 005.创建一个简单的UI

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

SharePoint 创建一个简单的Web Part 部分

SharePoint 创建一个简单的Web Part 部分 标准Web零件有时会很强大,运行多个功能的能力. 本文介绍了如何使用Visual Studio 创建一个简单的Web部分. 1. 打开VS,点击文件----新建项目. 2. 选择空白SharePoint项目.命名SmallvilleWebPartProject,点击确定.选择部署为场解决方式. 3. 右击项目加入新项目. 4. 选择Web部件. 5. 命名CustomerInformation,点击加入. 6. 右击新的Web部件项目.

Highcharts创建一个简单的柱状图

新建一个html文件,将highcharts引入到你的页面后,通过两个步骤我们就可以创建一个简单的图表了. 1.创建div容器 在页面的 body部分创建一个div,并指定div 的 id,高度和宽度,代码如下 <div id="container" style="min-width:800px;height:400px"></div> 2.编写Highcharts代码 编写Highcharts必须的代码,用<script><