十二周一次课

12.1 LNMP架构介绍

简介

  • LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
  • Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
  • Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
  • Mysql是一个小型关系型数据库管理系统。
  • PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
  • 这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

    特点

  • Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。
  • Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

    优点

  • 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
  • 作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
  • 作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
  • Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

    安装包

软件
Nginx、MySQL、PHP、PHPMyAdmin、Apache(可选)、Zend Optimizer(可选)、eAccelerator(可选)、ionCube(可选)、PureFTPd(可选)、VsFTPd(可选)

  • 和LAMP不同的是,提供web服务的是Nginx
  • 并且php是作为一个独立服务存在的,这个服务叫做php-fpm
  • Nginx直接处理静态请求,动态请求会转发给php-fpm

    12.2 MySQL安装

    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 //添加mysql用户
    mkdir /data/   //创建数据目录
    ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  //初始化数据库
    cp support-files/my-default.cnf  /etc/my.cnf  //拷贝mysql配置文件
    
 cp support-files/mysql.server /etc/init.d/mysqld  //拷贝启动脚本
 vim /etc/init.d/mysqld
定义basedir和datadir
 /etc/init.d/mysqld start

添加到自启动

 chmod 755 /etc/init.d/mysqld
 chkconfig --add mysqld
 chkconfig mysqld on 

12.3/12.4 PHP安装

下载

axel http://mirrors.sohu.com/php/php-7.1.10.tar.bz2 //下载源码包

解压缩

[[email protected] ~]# tar xjvf php-7.1.10.tar.bz2 //解压php安装包

编译与安装

[[email protected] ~]# cd php-7.1.10
[[email protected] php-7.1.10]# ./configure \ //个性化配置
--prefix=/usr/local/php --with-mysql-sock=/usr/local/mysql/mysql.sock --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer --enable-zip \ //支持压缩功能
--enable-fpm //支持动态页面fpm功能

(注意:由于内容较多,一定要检查最后是否漏掉,特别是最后一项)

[[email protected] php-7.1.10]# make //编译
[[email protected] php-7.1.10]# make install //安装

编辑配置文件

[[email protected] php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini //创建php配置文件
[[email protected] php-7.1.10]# vi /usr/local/php/lib/php.ini //编译php配置文件
修改以下内容:
mysqli.default_socket = /usr/local/mysql/mysql.sock //将php与Mysql关联
date.timezone = Asia/Shanghai //设置时区
保存退出
[[email protected] php-7.1.10]# /usr/local/php/bin/php –m //验证安装的模块

配置及优化FPM模块

[[email protected] php-7.1.10]# cd /usr/local/php/etc/
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf //复制php的fpm模块的配置文件模板为配置文件。php只识别php-fpm.conf为配置文件
[[email protected] etc]# cd php-fpm.d?
[[email protected] php-fpm.d]# cp www.conf.default www.conf //复制fpm的www配置文件模板为配置文件,fpm只识别www.conf的配置文件
[[email protected] php-fpm.d]# cd .. //返回上一层目录
[[email protected] etc]# vi php-fpm.conf //配置fpm模块
修改以下内容:
pid = run/php-fpm.pid //分号去掉
;user = nginx //添加两行
;group = nginx


?

启动fpm模块

[[email protected] etc]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini //启动fpm模块?
[[email protected] etc]# netstat -anpt | grep 9000 //查看9000端口运行状态(php-fpm运行在9000端口)

[[email protected] etc]# ln -s /usr/local/php/bin/* /usr/local/bin/ //将php的可执行程序放到系统可识别环境中便于执行
[[email protected] etc]# ps aux | grep -c "php-fpm" //统计进程数

更新启动脚本

让fpm模块也可进行系统启动管理

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

12.5 Nginx介绍

Nginx官网 nginx.org,最新版1.13,最新稳定版1.12
Nginx应用场景:web服务、反向代理、负载均衡
Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并
Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty,参考http://jinnianshilongnian.iteye.com/blog/2280928

原文地址:http://blog.51cto.com/235571/2122602

时间: 2024-10-09 10:07:28

十二周一次课的相关文章

十二周一次课(3月12日)

十二周一次课(3月12日)12.1 LNMP架构介绍 12.2 MySQL安装 LNMP中MySQL的安装和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-li

Linux学习笔记十二周一次课(4月23日)

12.1 LNMP架构介绍 12.2 MySQL安装 进入下载目录cd /usr/local/src 查看已下载的文件ls 查看进程是否运行ps aux | grep mysql 删除安装目录rm -rf /usr/local/mysql 删除服务rm -rf /etc/init.d/mysqld 修改配置文件vim /etc/my.cnf //不修改,保留即可: 进入下载目录cd /usr/local/src wget http://mirrors.sohu.com/mysql/MySQL-5

十六周一次课

十六周一次课 18.11 LVS DR模式搭建18.12 keepalived + LVS 18.11 LVS DR模式搭建 LVS DR模式搭建 DR模式搭建 – 准备工作 三台机器 分发器,也叫调度器(简写为dir) 133.130 rs1 133.132 rs2 133.133 vip 133.200 DR模式搭建 dir上编写脚本 vim /usr/local/sbin/lvs_dr.sh //内容如下 #! /bin/bashecho 1 > /proc/sys/net/ipv4/ip

十二周二次课(3月13日)

十二周二次课(3月13日)12.6 Nginx安装 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz tar zxvf nginx-1.12.1.tar.gz cd nginx-1.12.1 ./configure --prefix=/usr/local/nginx make && make install 安装完成 编辑配置文件及启动脚本 vim /etc/init.d/nginx   复制如下内容.

?十二周三次课 (3月14日)

十二周三次课 (3月14日) 12.10 Nginx访问日志 测试 12.11 Nginx日志切割 自定义shell 脚本vim /usr/local/sbin/nginx_log_rotate.sh #写入如下内容#! /bin/bash#假设nginx的日志存放路径为/tmp/d=`date -d "-1 day" +%Y%m%d` logdir="/tmp/"nginx_pid="/usr/local/nginx/logs/nginx.pid&quo

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 原文地址:http://blog.51cto.com/wbyyy/2087031

十二周五次课(3月16日)

十二周五次课(3月16日)12.17 Nginx负载均衡 Nginx负载均衡和Nginx代理本质其实是一样的,只不过是当Nginx代理服务器连接有多个Web服务器时,它就可实现负载均衡的作用(借助upstream模块来实现). Nginx负载均衡配置:vim /usr/local/nginx/conf/vhost/load.conf 写入如下内容:upstream qq_com{ip_hash;server 14.17.32.211:80;server 14.17.42.40:80;}serve

十二周二次课(4月24日)

十二周二次课(4月24日)12.6 Nginx安装12.7 默认虚拟主机12.8 Nginx用户认证12.9 Nginx域名重定向 扩展nginx.conf 配置详解 http://www.ha97.com/5194.html http://my.oschina.net/duxuefeng/blog/34880nginx rewrite四种flag http://www.netingcn.com/nginx-rewrite-flag.html http://unixman.blog.51cto.

linux十二周三次课 (4月25日)笔记

十二周三次课 (4月25日)12.10 Nginx访问日志12.11 Nginx日志切割12.12 静态文件不记录日志和过期时间 12.10 Nginx访问日志 配置文件的格式在主配置文件里. 搜索log,找到如下段内容,这段内容是用来定义格式. 公网IP,在百度,搜索IP,查看. 定义访问日志路径 打开文件 在}下加入一行,改为如下: 12.11 Nginx日志切割 编辑文件 加入以下内容 执行的过程 删除日志的格式 写完日志,写一个脚本. 12.12 静态文件不记录日志和过期时间 写入如下内