LNMP基础架构实现

架构原理:

LAMP=linux+apache+mysql+php

LNMP=linux+nginx+mysql+php

一、初入LNMP

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


二、安装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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

Windows下PHP环境搭建——WAMP分享

01 导语 学习一门语言,就得从搭建开发环境开始。PHP学习者时常会接触到一个词WAMP,那么WAMP是什么意思呢?Windows系统下的Apache+Mysq...

6568
来自专栏java思维导图

springboot 在idea中实现热部署

SpringBoot的web项目,在每一次修改了java文件或者是resource的时候,都必须去重启一下项目,这样的话浪费了很多的时间,实现了热部署,在每一次...

1312
来自专栏Zchannel

Linux 流量监控工具 – iftop(安装、相关参数说明)

1633
来自专栏nnngu

基于 React + Webpack 的音乐相册项目(上)

笔记仓库:https://github.com/nnngu/LearningNotes ---- 上一篇文章用爬虫自动下载了一些图片,这一篇就用这些图片做一个音...

3475
来自专栏西枫里博客

宝塔面板操作多个域名做301跳转

都知道在网站更换域名的过程中为了保住收录和排名,就需要通过搜索引擎提供的改版工具来进行操作。而其中最重要的就是对老域名进行301永久重定向获得搜索引擎的收录更新...

4661
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

前言   前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识!   主要是些基础的东西...   如何去创建...

3467
来自专栏wym

Linux ubntu 下操作

ls 显示当前下面的文件及文件夹 ls -a 显示当前目录下的所有文件及文件夹包括隐藏的.和..等 ls -al 显示当前目录下的所有文件及文件夹包括隐藏的.和...

1582
来自专栏向治洪

搭建网站

环境 Windows 10(64 位) Git-2.7.4-64-bit node-v4.4.7-x64 如果上述软件已经安装的,跳过,没有安装的下载安装。 1...

7296
来自专栏张善友的专栏

使用密码记录工具keepass来保存密码

在第一章,曾经给过您建议,密码不要保存在文档中,那样不安全,如果密码很多而且又很复杂,人的大脑是不可能很容易记住的,只能记录下来,如果不能记在文档中那记在哪里呢...

4309
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(四):简易留言簿基础开发

努力与运动兼备~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

4125

扫码关注云+社区

领取腾讯云代金券