设为首页 收藏本站
查看: 1413|回复: 0

[经验分享] 12.1 LNMP架构介绍;12.2 MySQL安装;12.3 PHP安装(上);12.4 PHP安装(下);12.5 Nginx介绍

[复制链接]

尚未签到

发表于 2018-12-13 10:18:37 | 显示全部楼层 |阅读模式
  扩展:
  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-FPMhttp://www.nowamagic.net/librarys/veda/detail/1319/
  

  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里的mysql目录先删除!!!)
  [root@hao-01 mysql]# mkdir /data/
  

  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
  

  12.3 PHP安装(上)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-01 php-5.6.30]# yum install -y gcc
  
  

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

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

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

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

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


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


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


  [root@hao-01 php-5.6.30]# yum install -y libcurl-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 mariadb]# 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 etc]# vim /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
  如图格式:

  

  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      




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650827-1-1.html 上篇帖子: [LNMP]php 下篇帖子: PHP设计模式之工厂模式和原型模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表