LAMP

LAMP:

a:apache(httpd)

m:mysql,mariadb

p:php,jsp

WEB资源类型:

     静态资源:原始形式与响应结果一致;

     动态资源:原始形式通常是程序文件(某种编程语言开发的程序文件),需要运行后将运行生成的结果呈现给用户;

     客户端技术:js

     服务端技术:php, jsp, ...

CGI:Common Gateway Interface

CIG是一种协议,定义了客户端(httpd)与服务端(特定的应用程序服务进程)交换数据的一种规范;

服务器端技术框架:

web server:httpd, ...

application server:php, perl, python, ruby, java(jsp), ...

data server:

SQL:Oracle, SQL Server, MySQL, PostgreSQL, SQLite, ...

NoSQL:

K/V

Document 

Column

Graph

开源领域:

httpd+php+mysql: amp

httpd+jsp+mysql: amt

jsp:tomcat, resin, jetty, websphere, weblogic, ...

php编程语言,基于此语言存在很多开源应用程序;嵌入式编程语言,可直接嵌入至html文档中,而非由php代码生成html标签;

wordpress, ...

httpd:接受用户的web请求,静态资源则直接响应,动态资源为php脚本,对此类资源的请求将交由php来运行

php:运行php程序

MariaDB:数据管理系统

http与php结合的方式:

CGI

FastCGI

modules(把php编译成为httpd的模块)

MPM:

 prefork;libphp5.so

 event,worker,libphp5-zts.so

安装操作

CentOS 7:

# yum install php php-mysql mariadb-server httpd

CentOS 6:

# yum install php php-mysql mysql-server httpd

测试页:

phpinfo.php 

<?php 

php code;

...

?>

httpd+php:

module

httpd的MPM分两类:

进程式:prefork

线程式:worker, event

CGI:

FastCGI: fcgi

httpd+fcgi(module)

php-fpm (server)

部署应用:

discuzX, phpMyAdmin



MySQL:

  C/S

Server: mysqld_safe, 3306/tcp

Client: mysql

mysql [OPTIONS]

-hSERVER

-uUSERNAME

-pPASSWORD

mysql> 提示符下的可用命令

客户端命令:

help可获取命令列表

\?

服务端命令:通过mysql协议发往服务端运行,并收取其响应结果;

此类命令都必须有命令结束符;通常可称为SQL语句;

DDL:Data Defination language

CREATE, ALTER, DROP

DML:Data Manipulating language

INSERT, DELETE, SELECT, UPDATE

grant/revoke

授权命令:

GRANT ALL [PRIVILEGES] ON db.tbl TO 'username'@'host'  IDENTIFIED BY 'password';

db.tbl:

db:数据名字,可用*通配;

tbl:表名称,可用*通配;

wpdb.*:wpdb数据库的所有表;

*.*:所有库的所有表;

wpdb.users:wpdb库的users表;

username@host:

username:用户名,字符串;

host:用户可通过哪些客户端主机连接当前mysql server;可使用通配符;

%:任意长度的任意字符;

_:任意单个字符;

dzuser@'10.1.%.%'

配置文件:ini风格的配置文件

/etc/my.cnf, /etc/my.cnf.d/*.cnf

[mysqld]

skip_name_resolve = ON

innodb_file_per_table = ON

首次启动时,配置安全选项:

mysql_secure_installation 

php测试代码

<?php

phpinfo();

?>

php连接mysql的测试代码:

<?php

$conn=mysql_connect('172.0.0.1','testuser','passwd');

if($conn)

echo "ok";

else

echo "fail";

?>



快速部署amp

Centos 7:

Modules: (1)程序包:httpd,php,php-mysql,mariadb-server

FastCGI: (2)程序包:httpd,php-fpm,php-mysql,mariadb-server

Centos 6:

httpd,php,php-mysql,mysql-server

php:

脚本语言解释器

配置文件: /etc/php.ini,/etc/php.d/*.ini

配置文件在php解释器启动时被读取,因此,对配置文件的修改如何生效?

Modules : 重启httpd服务

FastCGI : 重启php-fpm服务

ini:

[foo]:Section Header

directive=value

注释符:较新的版本中,已经完全使用;进行注释

# : 纯粹的注释信息

; : 用于注释可启用的directive

php.ini 的核心配置选项文档: http://php.net/manual/zh/ini.core.php 

php.ini 配置选项列表: http://php.net/manual/zh/ini.list.php



mariadb(mysql):

数据模型:层次模型,网状模型,关系模型

关系模型:

二维关系:

表:row,column

索引:index

视图:view

SQL接口:Structured Query Language

类似于OS的shell接口,也提供了编程功能;

ANSI : SQL标准,SQL-86,SQL-03

DDL : Data Defined Language

CREATE,ALTER,DROP

DML : Data Manapulating Language

INSERT,DELETE,UPDATE,SELECT

编程接口:选择,循环

SQL代码:

存储过程: procedure

存储函数: function

触发器: trigger

事件调度器: event scheduler

例程: routine

用户和权限:

用户:用户名和密码

权限:管理类,数据库,表,字段级别

DBMS : DataBase Manager System

RDBMS : Relational

MySql : 单进程,多线程

用户连接:通过线程来实现的

线程池:

MYSQL操作:

mysql -h127.0.0.1 -uroot -proot

GRANT ALL ON ultrax.* TO 'dzuser'@'127.0.0.1' IDENTIFIED BY 'dzpass';

GRANT ALL ON ultrax.* TO 'dzuser'@'localhost' IDENTIFIED BY 'dzpass';

CREATE DATABASE ultrax;

更改root密码:

use mysql

UPDATE user SET password=PASSWORD('root') WHERE user='root';

FLUSH PRIVILEGES;



练习:分别使用CentOS 7和CentOS 6实现以下任务

(1) 配置三个基于名称的虚拟主机;

(a) discuzX

(b) wordpress

(c) https: phpMyAdmin

(2) 对discuzX的主页做压测;

分别给出并发10, 100, 200, 500等每秒的响应数;

Centos 7:

blob.png

在 /etc/httpd/conf.d/ 目录下创建一个虚拟主机配置文件

<VirtualHost *:80>
        ServerName dis.nineven.com
        DocumentRoot /web/apps/dis
        <Directory /web/apps/dis >
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerName wp.nineven.com
        DocumentRoot /web/apps/wp
        <Directory /web/apps/wp >
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

blob.png

自签CA证书

blob.png

在http服务器上创建key

blob.png

将httpd.scr 传到CA服务器去签证

blob.png

修改ssl配置文件

vim /etc/httpd/conf.d/ssl.conf

blob.png

创建对应的目录

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

然后开始安装dis论坛

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

安装wp的过程和这一样,先创建数据库和用户,然后安装

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

centos6 的安装过程类似

  • LAMP已关闭评论
  • 1,194 views
    A+
发布日期:2016年10月09日  所属分类:linux