2018.9.13日,预习笔记,LNMP架构(一)

笔记目录

  1. LNMP架构介绍
  2. MySQL安装
  3. PHP安装
  4. Nginx介绍
  5. Nginx安装
  6. 扩展
    Nginx为什么比Apache Httpd高效:原理篇 http://www.toxingwang.com/linux-unix/linux-basic/1712.html
    https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/IO.md?public=true
    https://www.zhihu.com/question/64727674
    apache和nginx工作原理比较 http://www.server110.com/nginx/201402/6543.html
    概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM https://www.awaimai.com/371.htm

  7. https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/IO.md

        https://www.zhihu.com/question/64727674

 

一.LNMP架构介绍

cfca35e7d9d0e605dcbb5c8d6e037f9f02b.jpg

  • PHP作为一个独立服务存在,这个服务叫php-fpm
  • Nginx直接处理静态请求,用户的动态请求会转发给php-fpm去处理,完成后返回给Nginx,再返回给用户浏览器
  • Nginx介绍:http://jinnianshilongnian.iteye.com/blog/2280928 

二.MySQL安装

771918559595a13294208af66abb968dc44.jpg

示例一:

  • 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 /data/  创建目录
  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  编译
  • cp support-files/my-default.cnf  /etc/my.cnf  拷贝配置文件
  • vi /etc/my.cnf 编辑配置文件

7e8dc3eecf9b1ee7c6850f23c0edb421575.jpg

  • cp support-files/mysql.server /etc/init.d/mysqld 拷贝启动脚本
  •  vi /etc/init.d/mysqld 编辑启动脚本
  • 定义basedir和datadir  

4a64ac370eeec2d8d372d41fb649766c228.jpg

  • /etc/init.d/mysqld start
  • 检查mysql是否启动,和设置为开机启动

d927efd54030a5f810ebe6eab6be6e3ad54.jpg

  • chkconfig --add mysqld 加入服务列表里面去
  • chkconfig mysqld on 让他开机启动
  • 重新启动一下
  • service mysqld stop  关闭
  • service mysqld start  启动

三.PHP安装

a4753cd820c9299f49045587d3d46256385.jpg

b4902a53d7d23616d5c4d82635e31fe3320.jpg

示例一:

  • 和LAMP安装PHP方法有差别,需要开启php-fpm服务  
  • cd /usr/local/src/   进入目录下
  • wget http://cn2.php.net/distributions/php-5.6.30.tar.gz  下载php二进制安装包
  • 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
  • yum install gcc
  • yum install -y libxml2-devel
  • yum install -y openssl-devel
  • yum install libcurl-devel
  • yum install -y libjpeg-devel
  • yum install -y libpng-devel
  • yum install -y libmcrypt-devel
  • https://blog.csdn.net/u012208775/article/details/78784616 该网址是安装第三方yum源案例,如果发现有些包安装不了,可以安装一下第三方yum源,再次安装。
  • 缺少该包就安装一下,然后接着编译
  • make && make install  
  • cp php.ini-production /usr/local/php-fpm/etc/php.ini 拷贝一份配置文件 ,这个是线上用的模板
  • cd /usr/local/php-fpm/etc/ 进入该目录下
  • vi /usr/local/php/etc/php-fpm.conf //编辑配置文件,写入如下内容(参考)
  • https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/php-fpm.conf) 去该网址下,拷贝

543fd43e876b860a63593fd343b9cc9c75a.jpg

  • cd /usr/local/src/php-5.6.30 进入到源码包目录下
  • 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  启动php-fpm
  • ps aux |grep php-fpm 查看一下是否运行

f4e60715927bc74879ed8bf89544320cb50.jpg

  • ll /tmp/php-fcgi.sock 看自定义配置的权限是否对的上666

73670d9e9ba7bba757cd3e8c3e7b1d61f42.jpg

 

四.Nginx介绍

c19589d559f8e557b92112572ea97533a4b.jpg

  • 官网是aginx.org 是俄罗斯人开发的
  • Nginx静态处理能力比Apache强

fc10147c573bfdefa819ca4de86f5ad02e2.jpg

  • 代理一台叫反向代理
  • 代理两台叫负载均衡
  • 淘宝开发的tenging,在安全限速方面变现突出,并且支持合并js,css合并,使用起来跟Nginx基本一样的。
  • Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty 参考:http://http://jinnianshilongnian.iteye.com/blog/2280928

五.Nginx安装

8941cad0f6bad7ad8216a074320e8c1dad7.jpg

e475e0ce5139da30d2cad35ea894af0b9ab.jpg

7031d525944e3fb3573c76297d6ee874cc7.jpg

示例一:

  • cd /usr/local/src  进入目录下
  • wget http://nginx.org/download/nginx-1.12.1.tar.gz  下载Nginx包
  •  tar zxf nginx-1.12.1.tar.gz  解压包
  • ./configure --prefix=/usr/local/nginx  编译
  • make &&  make install  
  • 查看一下各个目录下的文件

d38ebe117e9f456885f8650db861a7549b3.jpg

  • vim /etc/init.d/nginx //复制如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx )在该网址复制
  • chmod 755 /etc/init.d/nginx  给权限
  • chkconfig --add nginx  加入服务列表
  • chkconfig nginx on 开启开机启动
  • cd /usr/local/nginx/conf/  进入目录下
  • mv nginx.conf nginx.conf.bak  给默认的配置文件模板改名备份
  • vim nginx.conf // 自己创建一个配置文件,写入如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf)去该网址复制一份
  •  /usr/local/nginx/sbin/nginx -t  检查脚本是否有语法错误
  • /etc/init.d/nginx  start  启动Nginx服务
  • ps aux | grep nginx 查看一下进程
  • netstat -lntp |grep 80  查看一下监听端口

611fda37c2caef1957a73960ce9c22a53fb.jpg

  • 用curl 测试一下

bf0c83213636b9fc6203a6ad3d09e6fab75.jpg

  • 测试PHP解析
  • vi /usr/local/nginx/html/1.php //创建一个php文档,加入如下内容  
  • <?php    
  • echo "test php scripts.";
  • ?>  
  • curl localhost/1.php 测试一下,如下解析成功

03e38c53dc44da2864644b5cd8fe9d9cfd8.jpg

六.扩展


Nginx为什么比Apache Httpd高效:原理篇 http://www.toxingwang.com/linux-unix/linux-basic/1712.html
https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/IO.md?public=true
https://www.zhihu.com/question/64727674
apache和nginx工作原理比较 http://www.server110.com/nginx/201402/6543.html
概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM https://www.awaimai.com/371.html

 

 

 

 

转载于:https://my.oschina.net/u/3912766/blog/2051723

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值