广告
返回顶部
首页 > 资讯 > 数据库 >企业级LAMP环境应用----mysql
  • 206
分享到

企业级LAMP环境应用----mysql

2024-04-02 19:04:59 206人浏览 独家记忆
摘要

第1章 企业级LAMP环境应用1.1 LNMP应用环境大约在2010年以前,互联网公司最常用的经典WEB服务环境组合就是LAMP(即linux,apache,Mysql,PHP),近几年随着Nginx we

第1章 企业级LAMP环境应用

1.1 LNMP应用环境

大约在2010年以前,互联网公司最常用的经典WEB服务环境组合就是LAMP(即linux,apache,Mysql,PHP),近几年随着Nginx web 服务的逐渐流行,又出现了新的web服务环境组合----LNMP或LEMP,其中LNMP为Linux,nginx,mysql,php等首字母的缩写,而LEMP中E表示Nginx,,LNMP已经逐渐成为国内大中型互联网公司网站的主流组合环境。

1.1.1 LNMP介绍

LNMP代表的就是:Linux系统下Nginx+Mysql+PHP这种网站服务器架构。Nginx是一个高性能的Http和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入html文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

1.1.2 LNMP的优点:

1.作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

2.作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。

3.作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。

4.Nginx 安装非常的简单:配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

1.1.3 LNMP组合工作流程

当LNMP组合工作时,首先是用户通过浏览器输入域名请求Nginx web服务,如果请求时静态资源,则有Nginx解析返回给用户;如果是动态请求(.php结尾),那么就会把它通过fastCGI接口(生产常用方法)发送给PHP引擎服务(fastCGI进程php-fpm)进行解析,如果这个动态请求要读取数据库数据,那么PHP就会继续向后请求MYSQL数据库,读取需要的数据,并最终通过Nginx服务把获得额数据返回给用户,这就是LNMP环境的基本请求顺序流程

1.1.4 CGI介绍

最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html。事物总是不 断发展,网站也越来越复杂,所以出现动态技术。但是服务器并不能直接运行 php,asp这样的文件,自己不能做,外包给别人吧,但是要与第三做个约定,我给你什么,然后你给我什么,就是握把请求参数发送给你,然后我接收你的处理结果给客户端。那这个约定就是 common gateway interface,简称cgi。这个协议可以用vb,c,php,python 来实现。cgi只是接口协议,根本不是什么语言。

WEB服务器将根据CGI程序的类型决定数据向CGI程序的传送方式,一般来讲是通过标准输入/输出流和环境变量来与CGI程序间传递数据。

CGI工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php-cgi.exe),CGI 的一个进程则处理完一个请求后退出,下一个请求来时再创建新进程。当然,这样在访问量很少没有并发的情况也行。可是当访问量增大,并发存在,这种方式就不适合了。于是就有了fastcgi。

1.1.5 FASTCGI介绍

FASTCGI:WEB服务器与处理程序之间通信的一种协议,是CGI的改进方案。CGI程序反复加载是CGI性能低下的主要原因,如果CGI程序保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等。

FASTCGI是常驻型的CGI,它可以一直运行,在请求到达时,不会花费时间去fork一个进程来处理。FastCGI是语言无关的、可伸缩架构的CGI开放扩展,将CGI解释器进程保持在内存中,以此获得较高的性能

1.2 原理解析

1.2.1 FastCGI的整个工作流程

                           

一般情况下,FastCGI的整个工作流程是这样的:

1、Web Server启动时载入FastCGI进程管理器(IIS ISapi或Apache Module)

2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待WebServer的连接。

3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。

4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。在CGI模式中,php-cgi在此便退出了。

 

第2章 LNMP之数据库MYSQL

2.1 MYSQL数据库介绍

mysql是互联网领域里非常重要的,深受广大用户欢迎的一款开源关系型数据库软件,由瑞典mysql AB公司开发与维护。2006年,mysql AB公司被SUN公司收购,2008年,SUN公司又被传统数据库领域老大甲骨文(oracle)公司收购,因此,mysql数据库目前属于oracle公司,但仍然是开源的。

mysql是一种关系型数据库管理软件,关系数据型数据库的特点是将数据保存在不同的二位表中,并且将这些表放入不同的数据库中,而不是把所有的数据统一放到一个大仓库中,这样的设计增加了MYSQL的读取速度,灵活性和可管理性。

2.2 LNMP MySQL数据库安装(二进制包的安装)

mysql软件下载地址信息: www.mysql.com   mirrors.sohu.com

mysql软件下载完毕后,查看mysql解压后目录文件大小

序号

mysql安装方式

特点说明

1

yum/rpm包安装

特点是简单,速度快,但是没法定制安装,入门新手常用这种方式

2

二进制安装

解压软件,简单配置后就可以使用,不用安装,速度较快,专业的DBA喜欢这种方式。

3

源码编译安装

特点是可以定制安装,但是安装时间长,列如:字符集安装路径

4

源码软件结合yum/rpm安装

把源码软件制作成符合要求的rpm,放到yum仓库里,然后通过yum安装,优点是安装快捷,可任意制定参数,但是安装者需要具备更深能力。

 

2.2.1 下载解压mysql二进制软件包

[root@web02 tools]# rz -E

rz waiting to receive.

[root@web02 tools]# ls

mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

nginx-1.10.2

nginx-1.10.2.tar.gz

[root@web02 tools]# tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

[root@web02 tools]# ls

mysql-5.6.34-linux-glibc2.5-x86_64         nginx-1.10.2

mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz  nginx-1.10.2.tar.gz

 [root@web02tools]# cdmysql-5.6.34-linux-glibc2.5-x86_64

 [root@web02mysql-5.6.34-linux-glibc2.5-x86_64]# ll -hi

total 68K

663049 drwxr-xr-x 2 root root  4.0K May 22 09:56 bin

663186 -rw-r--r-- 1 7161 31415  18K Sep 30  2016 COPYING

800440 drwxr-xr-x 3 root root  4.0K May 22 09:57data

800443 drwxr-xr-x 2 root root  4.0K May 22 09:57docs

800533 drwxr-xr-x 3 root root  4.0K May 22 09:57include

663139 drwxr-xr-x 3 root root  4.0K May 22 09:57 lib

790581 drwxr-xr-x 4 root root  4.0K May 22 09:56 man

790632 drwxr-xr-x 10 root root  4.0K May 22 09:57 mysql-test

663138 -rw-r--r-- 1 7161 31415 2.5K Sep 30  2016README

800431 drwxr-xr-x 2 root root  4.0K May 22 09:57scripts

663095 drwxr-xr-x 28 root root  4.0K May 22 09:56 share

800447 drwxr-xr-x 4 root root  4.0K May 22 09:57sql-bench

800433 drwxr-xr-x 2 root root  4.0K May 22 09:57support-files

[root@web02 mysql-5.6.34-linux-glibc2.5-x86_64]# cd..

[root@web02 tools]# ls

mysql-5.6.34-linux-glibc2.5-x86_64         nginx-1.10.2

mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz  nginx-1.10.2.tar.gz

[root@web02 tools]# du -sh mysql-5.6.34-linux-glibc2.5-x86_64

1.1G   mysql-5.6.34-linux-glibc2.5-x86_64

2.2.2 将mysql解压后的程序包搬家到程序目录下,并进行重命名

[root@web02 tools]# mv mysql-5.6.34-linux-glibc2.5-x86_64/application/mysql-5.6.34

2.2.3 为mysql创建软链接

[root@web02 tools]# ln -s /application/mysql-5.6.34//application/mysql

[root@web02 tools]# cd /application/

[root@web02 application]# ls

mysql mysql-5.6.34  nginx  nginx-1.10.2

[root@web02 application]# ll

total 8

lrwxrwxrwx  1root root   26 May 22 10:01 mysql ->/application/mysql-5.6.34/

drwxr-xr-x 13 root root 4096 May 22 09:57mysql-5.6.34

lrwxrwxrwx  1root root   25 May 19 08:52 nginx ->/application/nginx-1.10.2

drwxr-xr-x 11 root root 4096 May 19 12:59nginx-1.10.2

2.2.4 添加mysql程序运行时的管理用户并授权

useradd -s /sbin/nologin  -M mysql

chown -R mysql.mysql /application/mysql

2.2.5 初始化数据库

/application/mysql/scripts/mysql_install_db--basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql

2.2.6 复制启动脚本授权

[root@web02 application]# cp /application/mysql/support-files/mysql.server/etc/init.d/mysqld           ###把守护进程文件放到启动文件中,守护进程方式

[root@web02 application]#

[root@web02 application]# ll /etc/init.d/mysqld

-rwxr-xr-x 1 root root 10875 May 22 10:13/etc/init.d/mysqld

[root@web02 application]# chmod +x /etc/init.d/mysqld

2.2.7 修改启动脚本和 mysql命令中的路径

[root@web02 application]# ll /etc/init.d/mysqld

-rwxr-xr-x 1 root root 10875 May 22 10:13/etc/init.d/mysqld

[root@web02 application]# sed -i 's#/usr/local/mysql#/application/mysql#g'/application/mysql/bin/mysqld_safe /etc/init.d/mysqld

注:替换后的application为安装路径,如果安装路径不在application中,那么就要替换为安装的路径名。

[root@web02 application]#

2.2.8 复制默认的配置文件启动mysql

[root@web02 application]# cp /application/mysql/support-files/my-default.cnf/etc/my.cnf

cp: overwrite `/etc/my.cnf'? y

[root@web02 application]#

 [root@web02application]#/etc/init.d/mysqld start

Starting MySQL... SUCCESS!

2.3 管理mysql数据库

2.3.1 登录与退出mysql

[root@web02 application]#/application/mysql/bin/mysql -uroot

mysql> exit

Bye

或者ctrl+d

优化登录过程

echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile

source /etc/profile

which mysql

2.3.2 设置登录密码并登录

[root@web02 application]# mysqladmin -u root password "oldboy123"

Warning: Using a passWord on the command lineinterface can be insecure.

[root@web02 application]#

[root@web02 application]# mysql -uroot -poldboy123     ###注意-p后面不能有空格。

2.3.3 设置mysql服务开机自启动   

       ####11.加入开机自启动

       chkconfig --add mysqld

       chkconfig mysqld on

2.3.4 数据库基本命令

show databases;                <--- 查询默认的数据库信息

use mysql;                     <--- 表示选择使用一个数据库,

相当于cd进入一个数据库

select database();             <--- 表示查看当前所在数据库,类似于pwd命令的功能

select user();       <--- 查看当前登录数据库的用户,类似于whoami命令并且mysql还可以限制指定用户可以从哪里进行连接登录数据库

select user,host from mysql.user;   ---查看可以登录mysql数据库的目录,以及都可以从哪里进行管理mysql数据库

初级 添加删除系列

        #创建数据库

       create database wordpress;

        #删除数据库

        dropdatabase wordpress;

2.4 MYSQL错误信息

2.4.1 tmp目录权限必须是1777,否则sql启动不了。因为sql需要放一些缓存文件放到tmp中。

2.5 操作myql

2.5.1 查看数据库表

mysql> show databases;

+--------------------+

| Database          |

+--------------------+

| infORMation_schema |

| mysql             |

| performance_schema |

| test              |

+--------------------+

4 rows in set (0.03 sec)

mysql>

2.5.2 使用数据库

mysql> use mysql;

Reading table information for completion of tableand column names

You can turn off this feature to get a quickerstartup with -A

 

Database changed

mysql>

mysql> select database();

+------------+

| database() |

+------------+

| mysql     |

+------------+

1 row in set (0.00 sec)

 

mysql>

2.5.4 查看哪个用户登录数据库

mysql> select user();

+----------------+

| user()        |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

 

mysql>

 

mysql> select user,host from mysql.user;

+------+-----------+

| user | host     |

+------+-----------+

| root | 127.0.0.1 |

| root | ::1      |

|      |localhost |

| root | localhost |

|      |web02     |

| root | web02    |

+------+-----------+

6 rows in set (0.00 sec)

 

mysql>


您可能感兴趣的文档:

--结束END--

本文标题: 企业级LAMP环境应用----mysql

本文链接: https://www.lsjlt.com/news/42065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 企业级LAMP环境应用----mysql
    第1章 企业级LAMP环境应用1.1 LNMP应用环境大约在2010年以前,互联网公司最常用的经典web服务环境组合就是LAMP(即Linux,apache,mysql,PHP),近几年随着Nginx we...
    99+
    2022-10-18
  • 企业级使用LAMP源码安装教程
    目录LAMP架构1.lamp介绍2.web服务工作流程web服务器的资源分为俩种:静态和动态资源web服务器如何处理客户端的请求2.1cgi和fastcgi2.2httpd与php结...
    99+
    2022-11-12
  • MYSQL企业级应用(三)基本管理
    3.1数据库连接管理登录数据库系统在命令行中登录mysql数据库管理系统,其中“-h”参数指连接的主机名,因为此处是连接本机,所以后面的内容为localhost;“-u”参数表示用户名,此处的用户名为roo...
    99+
    2022-10-18
  • MYSQL企业级应用(二)体系结构
    2.1 MYSQL服务结构mySQL是一个典型的c/s模式,由服务端和客户端组成。服务端:mysqld客户端:mysql客户端自带程序:mysql,mysqladmin,mysqldump等2.2 MYSQ...
    99+
    2022-10-18
  • MYSQL企业级应用(一)安装与部署
    1.1 mysql介绍mysql属于传统关系型的数据库产品,它开放式架构使得用户选择性很强,同时社区开发与维护人员众多,其功能稳定,性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,也为mysql推...
    99+
    2022-10-18
  • 企业搭建网站使用什么环境
    企业搭建网站最终都要运行在一定的硬件、软件环境下,其关键是服务器的支撑。按照不同的硬件配置来分,服务器可以分为企业级、部门级、工作组级等不同的档次;按照不同的操作系统来划分,服务器又可以分为UNIX,Windows,Linux等不同的配置。...
    99+
    2022-10-18
  • 阿里云服务器LAMP环境搭建及应用
    LAMP是Linux、Apache、MySQL、PHP的首字母缩写,是一个常用的Web服务器环境。阿里云服务器提供LAMP环境,可以帮助用户快速搭建Web服务器,并实现各种Web应用的开发和部署。本篇文章将详细介绍如何在阿里云服务器上搭建L...
    99+
    2023-11-22
    阿里 环境 服务器
  • PHP中的企业级应用开发
    随着互联网的快速发展,企业级应用开发成为了一个新的需求点。同时,开源语言PHP在企业级应用开发中也发挥了重要作用。本文将对PHP在企业级应用开发中的应用做一些简单探讨。一、为什么选择PHP作为企业级应用的开发语言PHP是一种广泛使用的开源服...
    99+
    2023-05-23
    开发 PHP 企业应用
  • redhat6.5 企业环境使用vnc服务远程桌面
    导读很多企业环境中需要用到linux操作系统桌面,但是又没在服务器跟前该怎么办呢?很多朋友可能都遇到过这样的困惑,工作中需要用linux服务器, linux操作系统大多数都是直接命令行操作的,但也有一些软件需要图形化操作,这时又不能天天跑机...
    99+
    2023-06-05
  • 企业环境下用脚本设置ubuntu防火墙
    ubuntu防火墙设置...
    99+
    2023-06-05
  • 阿里云ECS构建安全高效的企业级云服务器环境
    阿里云ECS(Elastic ComputeService)是阿里云提供的一种弹性计算服务,可以帮助企业轻松构建和管理高可用、弹性扩展的计算平台。本文将详细介绍阿里云ECS的目录结构,以及如何使用这些目录进行有效的管理和维护。 阿里云ECS...
    99+
    2023-12-17
    高效 阿里 企业级
  • SQLServer高可用方案在企业生产环境的实践
    从SQLServer 2012以后微软推出了新的SQLServer高可用技术 ,它的名字叫AlwaysOn。 AlwaysOn是一种集合了高可用性和灾难恢复两种功能于一体的技术,相比故障转移群集、数据库镜...
    99+
    2022-02-15
    SQLServer高可用方案在企业生产环境的实践
  • 阿里云服务器A区构建安全、高效的企业级计算环境
    阿里云服务器A区是阿里云推出的一款高性能、安全稳定的企业级云计算服务,适用于企业级应用、高并发网站、大数据处理、人工智能等场景。阿里云服务器A区以其高可用性、高性能、低成本和高安全性,为企业提供了高效稳定的计算环境。 详细说明:高可用性:阿...
    99+
    2023-11-04
    高效 阿里 企业级
  • PHP在企业级网站开发中的应用
    PHP作为一种最流行的服务器端脚本语言之一,被广泛应用于企业级网站的开发中。它的灵活性、可扩展性和易用性使得PHP成为企业级网站开发的首选语言。本文将讨论PHP在企业级网站开发中的应用。首先,PHP在企业级网站的开发中扮演着关键的角色。它可...
    99+
    2023-10-27
    编程关键词 PHP应用 企业级网站开发
  • 企业级Java应用性能指标有哪些
    这篇文章主要介绍“企业级Java应用性能指标有哪些”,在日常操作中,相信很多人在企业级Java应用性能指标有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”企业级Java应用性能指标有哪些”的疑惑有所帮助!...
    99+
    2023-06-17
  • 如何使用PHP进行企业级应用开发?
    随着互联网的普及和发展,越来越多的企业开始重视自身的数字化建设,加强对互联网和移动互联网的应用和开发。而PHP作为开源、易学易用、效率高的脚本语言,已经成为了企业级应用开发的首选语言之一。本文将介绍如何使用PHP进行企业级应用开发。一、企业...
    99+
    2023-05-14
    PHP 企业级应用开发 开发技巧
  • 如何在PHP中使用企业级应用函数
    在企业级应用程序开发过程中,使用高效的函数可以大幅提高开发速度和应用程序性能。PHP是一种常用的企业级应用程序开发语言,拥有许多成熟的函数库和框架,可以帮助开发者快速构建高性能的应用程序。本文将介绍一些在PHP中常用的企业级应用函数和如何使...
    99+
    2023-05-18
    函数 PHP 企业级应用
  • 企业级Java应用的性能指标是什么
    这篇文章主要介绍“企业级Java应用的性能指标是什么”,在日常操作中,相信很多人在企业级Java应用的性能指标是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”企业级Java应用的性能指标是什么”的疑惑有所...
    99+
    2023-06-17
  • 供应链环境下,制造企业物流运作模式该如何选择
    随着经济全球化的快速发展,市场竞争已由单个企业之间的竞争逐渐转变为供应链之间的竞争,企业要想获得竞争优势,必须实施供应链战略资源整合。作为一种新的管理思想和管理方法,供应链管理是通过管控(计划、组织、指挥、协调、控制)供应链中各企业、各部门...
    99+
    2023-06-05
  • 如何理解Java 企业级应用的可扩展性
    这篇文章主要介绍“如何理解Java 企业级应用的可扩展性”,在日常操作中,相信很多人在如何理解Java 企业级应用的可扩展性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Java 企业级应用的可扩展性...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作