扩展:

Nginx为什么比Apache Httpd高效:原理篇

http://www.toxingwang.com/linux-unix/linux-basic/1712.html

apache和nginx工作原理比较 :

http://www.server110.com/nginx/201402/6543.html

mod_php 和 mod_fastcgi以及php-fpm的比较  :

http://dwz.cn/1lwMSd

概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

http://www.nowamagic.net/librarys/veda/detail/1319/

https://www.awaimai.com/371.html

12.1 LNMP架构介绍

1. 和LAMP不同的是,提供web服务的是Nginx

2. 并且php是作为一个独立服务存在的,这个服务叫做php-fpm

3. Nginx直接处理静态请求,动态请求会转发给php-fpm

12.2 MySQL安装

删除之前安装的mysql

1. 查看之前安装mysql是否开启 :

[root@hao-01 ~]# ps aux |grep mysql

2. 关闭之前安装的mysql服务 :

[root@hao-01 ~]# service mysqld stop

3. 删除之前安装的mysql目录 :

[root@hao-01 ~]# rm -rf /usr/local/mysql

4. 删除之前安装的mysql启动脚本 :

[root@hao-01 ~]# rm -rf /etc/init.d/mysqld

5. 删除之前安装的mysql目录 :

[root@hao-01 ~]# rm -rf /data/mysql

安装mysql:

安装下载工具: yum -y install wget

1. 进入下载安装包目录 :

[root@hao-01 ~]# cd /usr/local/src/

2.下载mysql安装包 :

[root@hao-01 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

3. 解包解压mysql包 :

[root@hao-01 src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

4. 解压的mysql包,移动到/usr/local/目录下,并重命名为mysql:

(注意:/usr/local/目录下,不能已经存在mysql目录,

如果存在,再用mv移动,会放在已存的mysql目录下面,而不会覆盖!!!)

[root@hao-01 src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

5. 列出mysql目录下所有文件目录(检查是否和下图一样) :

[root@hao-01 local]# ls /usr/local/mysql

6. 进入mysql目录下 :

[root@hao-01 src]# cd /usr/local/mysql

7. 创建mysql用户 :

[root@hao-01 mysql]# useradd mysql

8. 根目录下,创建data目录,如果有/data目录了,可以不在创建 :

(注意:如果根目录下已存在data目录,一定要把/data里的mysql目录先删除!!!)

[root@hao-01 mysql]# rm -rf /data/myasl

9. 安装依赖包 :

[root@hao-01 mysql]# yum install -y perl-Data-Dumper

[root@hao-01 mysql]# yum install -y libaio

10. 在mysql目录下初始化(mysql所需要的目录,会自动生成;指定用户为mysql,指定数据库目录为/data/mysql) :

[root@hao-01 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

11. 检验上一条命令执行是否有错?(数值0为没问题) :

[root@hao-01 mysql]# echo $?

12. 编辑my.cnf配置文件 :

[root@hao-01 mysql]# vim /etc/my.cnf

更改内容(图片中三行用#号暂时注释掉) :

datadir=/data/mysql

socket=/tmp/mysql.sock

13. 拷贝mysql.server配置文件,并改名为mysqld :

[root@hao-01 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

14. 编辑mysqld配置文件:

[root@hao-01 mysql]# vim /etc/init.d/mysqld

更改内容(定义basedir和datadir):

basedir=/usr/local/mysql

datadir=/data/mysql

15. 启动mysqld服务:

[root@hao-01 mysql]# /etc/init.d/mysqld start

16. 把mysqld服务加入到服务列表里面 :

[root@hao-01 mysql]# chkconfig --add mysqld

17. 设置mysqld服务加入开机启动项 :

[root@hao-01 mysql]# chkconfig mysqld on

18. 搜索mysql进程,查看是否启动 ?

[root@hao-01 mysql]# ps aux |grep mysql

19. 查看mysql对应的端口号(3306) :

[root@hao-01 mysql]# netstat -lntp

20. 关闭mysqld服务 :

[root@hao-01 mysql]# service mysqld stop

msyql环境变量

如果执行找不到mysql -uroot命令,执行下面命令:

[root@hao-01 ~]# ln -s /usr/local/mysql/bin/mysql  /usr/bin

或:

[root@hao-01 ~]# alias 'mysql=/usr/local/mysql/bin/mysql'

[root@hao-01 ~]# alias 'mysqldump=/usr/local/mysql/bin/mysqldump'

12.3-12.4 PHP安装(上下)

1. 进入下载安装包目录 :

[root@hao-01 ~]# cd /usr/local/src/

2. 下载php-5.6.30版本安装包 :

[root@hao-01 src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

3. 解包解压php安装包:

[root@hao-01 src]# tar zxf php-5.6.30.tar.gz

4. 进入php目录下 :

[root@hao-01 src]# cd php-5.6.30

5. 如果之前编译过php-5.6.30包,进入这个包下解除删除之前的编译 :

[root@hao-01 php-5.6.30]# make clean

6. 编译 :

[root@hao-01 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

7. 检验上一条命令执行是否有错?(数值0为没问题)

[root@hao-01 mariadb]# echo $?

8. 安装依赖包:

(编译php需要以下依赖包,编译后如图错误:安装对应依赖包后,再次编译!)

[root@hao-001 php-5.6.30]# yum install -y libxml2-devel

[root@hao-001 php-5.6.30]# yum install -y openssl-devel

[root@hao-001 php-5.6.30]# yum install -y bzip2-devel

[root@hao-001 php-5.6.30]# yum install -y libjpeg-devel

[root@hao-001 php-5.6.30]# yum install -y libpng-devel

[root@hao-001 php-5.6.30]# yum install -y freetype-devel

[root@hao-001 php-5.6.30]# yum install -y epel-release && yum install -y libmcrypt-devel

[root@hao-01 php-5.6.30]# yum -y install curl-devel

9. 继续编译 :

[root@hao-01 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

10. 检验上一条命令执行是否有错 ?(数值0为没问题)

[root@hao-01 php-5.6.30]# echo $?

11. make和make install执行 :

[root@hao-01 php-5.6.30]# make && make install

12. 拷贝当前目录下php.iniproduction,并重命名 :

[root@hao-01 php-5.6.30]# cp php.ini-production /usr/local/php-fpm/etc/php-ini

13. 在/usr/local/php-fpm/etc/目录下,创建php-fpm.conf文件,并写入内容 :

[root@hao-01 php-5.6.30]# vim /usr/local/php-fpm/etc/php-fpm.conf

https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/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

如图格式:

14. 拷贝当前目录sapi下的fpm/init.d.php-fpm(启动脚本),并重命名 :

[root@hao-01 php-5.6.30]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

15. 给php-fpm(启动脚本) 设定755权限 :

[root@hao-01 php-5.6.30]# chmod 755 /etc/init.d/php-fpm

16. 添加php-fpm服务 到服务列表 :

[root@hao-01 php-5.6.30]# chkconfig --add php-fpm

17. 设定 php-fpm服务 开机启动 :

[root@hao-01 php-5.6.30]# chkconfig php-fpm on

18. 创建php-fpm用户 :

[root@hao-01 php-5.6.30]# useradd php-fpm

19. 检测php-fpm配置文件是否有错 ?

[root@hao-01 php-5.6.30]# /usr/local/php-fpm/sbin/php-fpm -t

20. 启动php-fpm服务 :

[root@hao-01 php-5.6.30]# service php-fpm start

21. 搜索php-fpm服务是否启动 ?

[root@hao-01 php-5.6.30]# ps aux |grep php-fpm

12.5 Nginx介绍

1. Nginx官网 nginx.org,最新版1.13,最新稳定版1.12

2. Nginx应用场景:web服务、反向代理(代理一台)、负载均衡(代理两台)

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

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

转载于:https://blog.51cto.com/zhuneianxiang/2085865

12.1 LNMP架构介绍;12.2 MySQL安装;12.3-2.4 PHP安装(上下);12.5相关推荐

  1. 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Nginx介绍

    2019独角兽企业重金招聘Python工程师标准>>>  12.1 LNMP架构介绍 和LAMP不同的是,提供web服务的是Nginx 并且php是作为一个独立服务存在的,这个服务叫 ...

  2. 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Ng

    12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 在执行make && make install之前,先做 useradd -s /sbin/nol ...

  3. LNMP架构介绍与搭建

    笔记内容: 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Nginx介绍 笔记日期:2017.10.18 <br> 12.1 LNMP架构 ...

  4. LNMP架构介绍、MySQL安装、PHP安装、Nginx介绍

    LNMP架构介绍 LNMP:linux+nginx+mysql+php的架构:php的动态处理交给php-fpm(127.0.0.1:9000),静态处理直接由nginx处理 工作模式: 1.在lam ...

  5. 源码编译安装部署LNMP架构(Nginx、MYSQL、PHP+论坛)

    目录 1.LNMP概述 1.1 LNMP所需要的安装包 2.Nginx安装 3. MYSQL安装 4. PHP安装 4.1 数据库安装 5. 论坛安装 6. 小结 1.LNMP概述 LNMP:Linu ...

  6. LNMP架构环境搭建之mysql源码编译安装

    Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器 ...

  7. CentOS 7.6 源码安装搭建LNMP架构(Nginx、MYSQL、PHP)

    LNMP架构 LNMP是什么 搭建环境 搭建准备 LNMP软件包 搭建nginx 搭建mysql数据库 搭建php 搭建Discuz!论坛 LNMP是什么 LNMP:Linux系统下Nginx+MyS ...

  8. LNMP架构介绍及原理流程

    LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 以上两个架构是目前网站的主流架构 LNMP的工作原理 LNMP是指LNMP==Linu ...

  9. LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装

    2019独角兽企业重金招聘Python工程师标准>>> LAMP架构介绍 Linux+Apache+MySQL+PHP 就是在linux系统上安装httpd. mysql .PHP, ...

最新文章

  1. PowerShell 备份sharepoint站点命令
  2. python实现一种检测postgresql数据库是否已经连接且为主节点的办法
  3. 【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统 xxl-job 任务调度中心】(手动版)
  4. 删除了几个月的照片能找回么_手机删除的照片还能恢复?打开这里,一年前的也可以找回...
  5. DOM-3 【utils/待讲评】节点属性、方法、封装方法、DOM结构
  6. www.beihua.edu.cn计划摘录
  7. 属格-my father's car和whose_32
  8. Java - 经常使用函数Random函数
  9. js return 闭包为null_那么如何让你的 JS 写得更漂亮?
  10. 理解 zookeeper
  11. Expected value at 1:0 异常解决方法
  12. MySQL存储过程写法总结
  13. retrofit介绍
  14. 模仿类似美团手机版应用源码
  15. 使用HoloLens 2调用深度相机和前置摄像头
  16. 教你用 Python 修改微信(支付宝)运动步数,轻松升到 TOP1
  17. 获取微信公众号历史文章列表页链接
  18. 主流微服务配置中心对比 config,nacso和Apollo对比
  19. Telegram Android开源源码运行
  20. 坐标变换 及矩阵变换

热门文章

  1. Access denied (java.lang.RuntimePermission getClas
  2. C++面试题(1-3)
  3. tcp reno 介绍
  4. 小猿圈linux之使用VMware workstation安装Linux虚拟机
  5. 微信分享,二次分享(移动web端)
  6. SpringBoot自定义错误页面
  7. Javaweb学习笔记——(五)——————DOMXML目录
  8. [WinAPI] API 4 [注册][创建][消息][第一个框架类窗口]
  9. php Pthread 多线程 (五) 线程同步
  10. 浅谈Horizon DaaS平台 - 崛起的桌面云平台