前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LNMP基础架构实现

LNMP基础架构实现

作者头像
老七Linux
发布2018-05-09 15:56:25
5990
发布2018-05-09 15:56:25
举报

架构原理:

LAMP=linux+apache+mysql+php
LNMP=linux+nginx+mysql+php

一、初入LNMP

当我们讲LAMP的时候PHP是作为一个模块在Apache中,但是在LNMP中,PHP是一个服务,当用户请求的时候nginx会把它交给php 然后对mysql进行交互!像这种静态的,例如图片或者html,nginx会直接处理,从而加快访问速度! 谈到速度,其实如果一个普通的站点你是看不到什么效果的,但是如果要是访问一个纯静态站点,nginx就能体现出它的优势!(其实我的站点就是nginx,因为多数是静态的文章+图片)nginx的另外一个优势得益于它的高并发支持!

mark
mark

二、安装mysql

安装mysql的配置,其实在做LAMP的时候已经做过了,一模一样的编译配置。就直接show配置: LAMP安装

cd /usr/local/src

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 

tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

cd /usr/local/mysql

useradd mysql

mkdir -p /data/mysql

chown -R mysql:mysql /data/mysql

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

cp support-files/my-default.cnf  /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

vi /etc/init.d/mysqld 

vim编辑下面两行basedir和datadir配置
basedir=/usr/local/mysql
datadir=/data/mysql

/etc/init.d/mysqld start

三、PHP安装

和LAMP安装PHP方法有差别,需要开启php-fpm服务

3.1 配置并编译:

cd /usr/local/src/

wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

tar zxf php-5.6.30.tar.gz

useradd -s /sbin/nologin php-fpm

cd php-5.6.30

./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl

--prefix=指定安装位置
--with-config-file-path=指定配置文件目录
--enable-fpm=启动fpm服务
--with-fpm-user=指定用户
--with-fpm-group=指定用户组
--with-mysql=指定mysql的路径
如下几乎都是。

[当然在编译的时候也会出现错误,参照之前的错误安装解析即可](http://www.okay686.cn/?p=402)

echo $?

make && make install

echo $?

3.2 PHP信息:

安装下来之后我们发现其实比之前安装PHP要多了两个目录 sbinvar

sbin:实际上就是启动php-fpm服务的目录

var:实际上就是存放PHP日志的,当然这个我们可以指定的

查看PHP信息:

/usr/local/php-fpm/sbin/php-fpm -i

查看PHP模块:

/usr/local/php-fpm/sbin/php-fpm -m

测试PHP配置语法:

/usr/local/php-fpm/sbin/php-fpm -t

3.3 配置PHP:

cp php.ini-production /usr/local/php-fpm/etc/php.ini

//牢记此命令,后期会经常使用到
vi /usr/local/php-fpm/etc/php-fpm.conf

//写入如下内容
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

[global]=定义全局参数
[www]=自定义模块
listen = 监听的地址
或者可以使用这样的方式↓
listen = 127.0.0.1:9000 (port默认为9000,也可以更改)
listen.mode = 666 用来定义listen = /tmp/php-fcgi.sock的权限,只有这个sock打开的情况下才生效!

//配置启动脚本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod 755 /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

service php-fpm start

ps aux |grep php-fpm

四、Nginx

官网:nginx.org

因为nginx处理静态文件的能力要比apache好很多,所以很多企业在建站的时候一般都是用java写的,然后会选择tomcat,但是tomcat处理静态文件的能力不是太好就会叠加选择nginx。

nginx特点:

  • 体积小
  • 处理能力强
  • 并发高
  • 可扩展性好

Nginx应用场景:

  • web服务
  • 反向代理
  • 负载均衡

Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并

Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty,参考http://jinnianshilongnian.iteye.com/blog/2280928

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/08/09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构原理:
    • LAMP=linux+apache+mysql+php
      • LNMP=linux+nginx+mysql+php
      相关产品与服务
      负载均衡
      负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档