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架构介绍

2018.9.13日,预习笔记,LNMP架构(一)_第1张图片

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

二.MySQL安装

2018.9.13日,预习笔记,LNMP架构(一)_第2张图片

示例一:

  • 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 编辑配置文件

2018.9.13日,预习笔记,LNMP架构(一)_第3张图片

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

2018.9.13日,预习笔记,LNMP架构(一)_第4张图片

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

2018.9.13日,预习笔记,LNMP架构(一)_第5张图片

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

三.PHP安装

2018.9.13日,预习笔记,LNMP架构(一)_第6张图片

2018.9.13日,预习笔记,LNMP架构(一)_第7张图片

示例一:

  • 和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) 去该网址下,拷贝

2018.9.13日,预习笔记,LNMP架构(一)_第8张图片

  • 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 查看一下是否运行

2018.9.13日,预习笔记,LNMP架构(一)_第9张图片

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

73670d9e9ba7bba757cd3e8c3e7b1d61f42.jpg

 

四.Nginx介绍

2018.9.13日,预习笔记,LNMP架构(一)_第10张图片

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

2018.9.13日,预习笔记,LNMP架构(一)_第11张图片

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

五.Nginx安装

2018.9.13日,预习笔记,LNMP架构(一)_第12张图片

2018.9.13日,预习笔记,LNMP架构(一)_第13张图片

2018.9.13日,预习笔记,LNMP架构(一)_第14张图片

示例一:

  • 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  
  • 查看一下各个目录下的文件

2018.9.13日,预习笔记,LNMP架构(一)_第15张图片

  • 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  查看一下监听端口

2018.9.13日,预习笔记,LNMP架构(一)_第16张图片

  • 用curl 测试一下

2018.9.13日,预习笔记,LNMP架构(一)_第17张图片

  • 测试PHP解析
  • vi /usr/local/nginx/html/1.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

你可能感兴趣的:(2018.9.13日,预习笔记,LNMP架构(一))