第二十课预习笔记

12.1 LNMP架构介绍

LNMP和LAMP不同的是,提供web服务的是Nginx。

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

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

e5db2bffade2fe66c38d44b0a640fe70b95.jpg

Nginx对于一些静态元素比较多的网站访问速度会比apache快很多。并发用户数量也比apache要多。这重要得益于Nginx底层设计的一些逻辑关系和apache不一样。

 

12.2 MySQL安装

mysql的安装和LAMP中mysql安装步骤一样。

1、删除之前安装的mysql。

94eaeb1fc466b4cc15eb6c7bc12746bc3ff.jpg

2、安装mysql服务,二进制源码包安装。

tar zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz    解压二进制源码包。

mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql    移动到mysql目录下。

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql    初始化生成相应的文件目录。

cp support-files/my-default.cnf /etc/my.cnf    拷贝配置文件到etc目录下。

cp support-files/mysql.server /etc/init.d/mysqld    拷贝mysql服务文件到/etc/init.d目录下。

配置/etc/my.cnf文件

datadir=/data/mysql
socket=/tmp/mysql.sock

配置/etc/init.d/mysqld 服务文件

basedir=/usr/local/mysql
datadir=/data/mysql

把mysql 服务加入到开机启动中,开启mysql服务。

c3308ab26c0527eb1b8ab8ac55214a646ad.jpg

 

12.3-12.4 PHP安装

LNMP中的php是一个单独存在的服务,所以安装和LAMP中安装php不一样。需要开启php-fpm服务。

1、php服务安装

首先删除之前安装的php,进入php源码包:make clean。

创建php-fpm用户:useradd -s /sbin/nologin php-fpm。

初始化配置:./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

其中:

--enable-fpm 启动fpm服务,必须加上。

编译安装php-fpm:make && make install

安装完成。

2、相关配置

查看安装目录,ls /usr/local/php-fpm/。

[root@liang-00 run]# ls /usr/local/php-fpm/
bin  etc  include  lib  php  sbin  var

其中sbin目录中存放着php-fpm启动文件;var目录下存放着日志log目录和run(存放pid)目录。

 /usr/local/php-fpm/sbin/php-fpm -m 查看模块;

 /usr/local/php-fpm/sbin/php-fpm -i 查看关于php-fpm信息;

 /usr/local/php-fpm/sbin/php-fpm -t 查看语法的正确性。

php-fpm配置文件添加。

cp php.ini-production /usr/local/php-fpm/etc/php.ini

配置php-fpm.conf文件配置,/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    #监听的socket
#listen = 127.0.0.1:9000    #还可以设置成监听ip和端口,Nginx和ph-fpm在一台linux中,我们可以用设备lo地址,9000为默认端口。
listen.mode = 666    #当监听的是socket时 listen.mode 才起作用。
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

php-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

检查配文件正确性/usr/local/php-fpm/sbin/php-fpm -t ,启动php-fpm服务。

15c7ae61e4cb29e9f2ef796a53d9e3cb5b4.jpg

 

12.5 Nginx介绍

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

Nginx的最新版本为:1.14,做实验用时1.12。

 

12.6 Nginx安装

1、Nginx下载、安装。

下载:wget http://nginx.org/download/nginx-1.12.1.tar.gz

解包:tar zxvf nginx-1.12.1.tar.gz

初始化配置,编译安装。

./configure --prefix=/usr/local/nginx

make && make install

2、Ngnix启动脚本配置。

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

3、配置文件编辑。

vim /usr/local/nginx/conf/nginx.conf,内容为以下地址中:https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf

35530deef9d802803fcb943295d8ee4518c.jpg

其中:

user nobody nobody    启动nginx服务的用户;

worker_processes 2    启动时的子进程个数;

worker_rlimit_nofile 51200    nginx最多打开文件数;

events
{
    use epoll;    使用的模式;
    worker_connections 6000;    最大连接数;
}

server部分,相当于apache中的 Virtual Host

fc263f0a4265453cafcd0b10abe94efdcc5.jpg

其中:

location ~ \.php$
        {
            include fastcgi_params;
            fastcgi_pass unix:/tmp/php-fcgi.sock;    监听的php模块socket,也可以设置成:fastcgi_pass 127.0.0.1:9000。
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
        }

4、启动nginx服务。

首先检查配置文件是否有错误:/usr/local/nginx/sbin/nginx -t

启动nginx:/etc/init.d/nginx start

b5359f798940729632497541517a0ece25e.jpg

5、测试nginx。

访问nginx服务默认打开的是 /usr/local/nginx/html/index.html文件。

cd3d2be53dc7449c1990e737825c1b6d74e.jpg

访问自定义内容:

vim /usr/local/nginx/html/1.php

curl 192.168.37.200/1.php

a0180786f4368cf8f9758516257b388f27c.jpg

 

转载于:https://my.oschina.net/u/3993922/blog/2985916

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值