lnmp架构mysql500是什么原因_LNMP架构介绍
LNMP架构
LNMP架构介绍
1)使前端web服务和后端存储服务进行串联
2)主要实现处理PHP程序动态请求
LNMP的工作原理
LNMP:
L:表示linux
N:表示Nginx
M:表示mysql
P:表示PHP
工作原理:
前端接收用户的请求,到达nginx后,nginx服务会先判断用户的请求是否可以处理,如果可以处理的先自己处理,如果处理不了的,nginx服务先通过fastcgi_pass指令与通过fastcgi接口将处理不了的请求抛送给PHP服务,php会通过php-fpm进程来接收到nginx抛送过来的请求,同时php服务会通过wrapper进程来识别这个请求,然后会交给php的解析器来进行识别,php解析器识别后会调取数据库资源,让数据库识别用户的请求,最终将要调取的数据识别出来,返还给php进程wrapper,再返还给php进程php-fpm,再返回给fastgci接口交给nginx客户端,nginx客户端接收到这个请求的结果响应给用户
LNMP架构部署
第一步:安装LNMP架构相关软件
1.部署linux系统
部署完成后,需要进行基础优化(防火墙关闭,selinux关闭,/tmp目录权限为1777)
2.部署nginx服务
安装过程详解:http://1a7f2dd7.wiz03.com/share/s/0qvOTn10-AEH29_zxM18oPGG1QICGl14RkIx2GujYl2NuYca
3.部署mysql服务
第一个里程:下载mysql软件
mysql官方下载链接地址:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
[root@web01 tools]# tar xf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
[root@web01 tools]# mv mysql-5.6.41-linux-glibc2.12-x86_64 /application/mysql-5.6
第二个里程:创建软链接
[root@web01 mysql-5.6]# ln -s /application/mysql-5.6/ /application/mysql
第三个里程:创建数据库管理用户,并进行授权数据目录
[root@web01 mysql]# useradd -M -s /sbin/nologin mysql
[root@web01 mysql]# chown -R mysql. /application/mysql/data/
第四个里程:对数据库进行初始化
[root@web01 mysql]# scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
第五个里程:启动mysql服务
[root@web01 mysql]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
#将默认位的mysql位置改成现在安装的位置
[root@web01 mysql]# sed -ri "s#/usr/local#/application#g" /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
#因版本不同,需要现在的配置文件覆盖系统原来的配置文件
[root@web01 mysql]# cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
[root@web01 mysql]# /etc/init.d/mysqld start
第六个里程:设置mysql密码
[root@web01 ~]# /application/mysql/bin/mysqladmin -uroot password "oldboy"
[root@web01 ~]# /application/mysql/bin/mysql -uroot -poldboy
第二步:部署PHP环境
第一个里程:安装PHP软件依赖关系
[root@web01 tools]# yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-t urbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
libiconv软件安装---字符集转换库(默认可以不进行安装了)
cd /server/tools
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install libmcrypt-devel mhash mcrypt
rpm -qa libmcrypt-devel mhash mcrypt
第二个里程:安装PHP软件
php官方网站下载:php.net
本地不安装mysql, 将--with-mysqli=mysqlnd设为mysqlnd即可
[root@web01 sbin]#
./configure \
--prefix=/application/php-5.5.32 \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir --with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--enable-opcache=no
##防错(以下信息可以不进行配置了)
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make && make install
ln -s /application/php-5.5.32/ /application/php
第三个里程:设置PHP程序配置文件
cp php.ini-production /application/php-5.5.32/lib/
cd /application/php/etc/
cp php-fpm.conf.default php-fpm.conf
第四个里程:启动PHP服务
/application/php/sbin/php-fpm
netstat -lntup|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 6251/php-fpm
第三部:进行软件直接的结合,nginx与php结合
1.编写nginx配置文件
[root@web01 blog]# cat ../../conf/extra/blog.conf
server {
listen 80;
server_name blog.etiantian.org;
root html/blog;
index index.php index.html index.htm;
location ~* .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
[root@web01 blog]#
2.编辑php页面
[root@web01 blog]# cat test_info.php
//$link_id=mysql_connect('主机名','用户','密码');
//mysql -u用户 -p密码 -h 主机
$link_id=mysql_connect('localhost','root','oldboy') or mysql_error();
if($link_id){
echo "mysql successful by oldboy !\n";
}else{
echo mysql_error();
}
?>
3.测试访问
部署一个真实的网站
第一个里程:上传和下载网站代码
第二个里程:解压代码程序,将代码和序保存到站点目录并进行授权
cd /server/tools
tar xf wordpress-4.7.3-zh_CN.tar.gz
mv wordpress/* /application/nginx/html/blog/
chown -R www.www /application/nginx/html/blog/
第三个里程:直接访问blog网站,进行初始化操作
创建数据库:
create database wordpress;
show databases;
创建连接数据用户信息
grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
select user,host from mysql.user;
lnmp架构mysql500是什么原因_LNMP架构介绍相关推荐
- 系统架构师-基础到企业应用架构-表现层
一.前言 最近也许是由于假期的原因,我发布的文章的速度变慢了,对大家说下抱歉,这个系列的确我很难写,感谢大家对我的支持和关注,的确我在发布后得到大家的支 持和认可,让我有了更多的动力,之前发布的有些内 ...
- 亿级商品详情页架构演进技术解密 | 高可用架构系列 二
转载:http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=210272034&idx=1&sn=3be9d2b53c7fe ...
- 亿级商品详情页架构演进技术解密 | 高可用架构系列
亿级商品详情页架构演进技术解密 | 高可用架构系列 --http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=210272034&i ...
- 系统架构师-基础到企业应用架构-企业应用架构
为什么80%的码农都做不了架构师?>>> 一.上篇回顾 我们先来回顾下上篇讲解的内容,我们前面的几节分别讲述了,业务逻辑层.数据访问层.服务层.表现层,我们了解了这些分层的职责 ...
- 架构漫谈:我心中的架构
本文为<架构漫谈>系列第一篇.本文将会从:"什么是架构","架构能解决什么问题","架构和框架的区别"三个点来着重讨论,本文系个 ...
- 关于架构的优化和设计,架构师必须悟透的事情
原文地址:http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=411196355&idx=1&sn=be0d574b4a1 ...
- 企业架构(五)——联邦企业架构(FEA)实施指南
文章目录 一.概述 二.效能改善生命周期 三.企业架构的开发和应用 1.架构级别 2.架构演进 (1)概述 (2)片段架构 ① 片段的识别和定义过程 ② 片段架构的开发和维护过程 四.企业架构过渡战略 ...
- 企业架构(三)——联邦企业架构框架(FEAF)
文章目录 一.FEAF 1.FEAF的出现 2.FEAF构成 (1)Level 1 (2)Level 2 (3)Level 3--架构模型细化 (4)Level 4--业务架构模型细化(EAP方法) ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
一.序言 Hadoop是一个技术生态圈,zookeeper是hadoop生态圈里一个非常重要的技术,当我研究学习hadoop的相关技术时候,有两块知识曾经让我十分的困惑,一个是hbase,一个就是zo ...
最新文章
- 大数据教程之大数据处理流程
- C#中各种数据类型转换的方法的类
- 论大型信息系统集成项目的整体管理
- 基于 Slax 构建译者专用 Linux
- 【城市沙龙】LiveVideoStack Meet | 长沙:多媒体与广电
- 方法重载,new,override
- IntelliJ IDEA 2020 快捷键私人订制
- 代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file
- java连接zookeeper 找不到zoo.cfg_ZooInspector 连接不到 Zookeeper 的解决方法
- 安谋中国发布“玲珑”多媒体产品线,首款ISP处理器面世
- 使用windows live writer连接CSDN和博客园博客
- Class.forName的作用以及为什么要用它【转】
- 微信终端跨平台组件 mars 开源
- 微信小程序 js部分语法
- pandas学习之excel重复项判断显示与去重
- Unraid USB启动盘怎么更换和重新获取注册码密钥?
- Android各种模拟器使用笔记
- Win10+Vs+CMake安装OpenCV+contrib
- 32位颜色 转换成16位颜色
- 阿里王坚:人工智能是一个非常傲慢的提法,这个提法最后会害死大家