nginx,lnmp

1. nginx基本了解:

       1. 基本的目录:

                /usr/local/nginx  (安装目录)

                /usr/local/nginx/conf/nginx.conf  (主配置文件)

                /usr/local/nginx/html   (网页目录)

                /usr/local/nginx/logs  (日志文件)

                /usr/local/nginx/sbin/nginx   (nginx启动脚本)

        2. 基本命令:

                 注意(使用启动服务前,必须要有nginx用户,设置成/sbin/nologin)

                /usr/local/nginx/sbin/nginx  (启动服务)

                /usr/lcoal/nginx/sbin/nginx -s stop   (关闭服务)

                /usr/local/nginx/sbin/nginx  -s reload   (重新加载配置文件)

                /usr/local/nginx/sbinnginx -V   (查看软件信息)

               

         3. nginx默认使用的端口是80端口

                  用  ss -antulp | grep nginx  查看

         4. 正向代理和反向代理

                   正向代理简单一点就是说把nginx服务器作为一个代理服务器去访问目标服务器,客户端要访问目标服务器,就需要借助nginx代理服务器去跳转到目标服务器。目标服务器的ip地址对客户端是可见的。  

                  反向代理,客户端是不知道代理的,客户端访问目标服务器,只需将请求发送到nginx反向代理服务器上,反向代理服务器就会根据配置去到目标服务器获取数据,然后返回给客户端,这时,反向代理服务器和目标服务器就可以看作一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器的地址。

                反向代理配置操作过程:

                  1.在/usr/local/nginx/conf/nginx.conf中修改配置文件

                        .. ..

                        http {

                        .. ..

                        #使用upstream定义后端服务器集群,集群名称任意(如webserver)

                        #使用server定义集群中的具体服务器和端口

                        upstream webserver {

                        server 192.168.99.100:80;

                        server 192.168.99.200:80;

                        }

                        .. ..

                        server {

                        listen        80;

                        server_name localhost;

                        location / {

                        #通过proxy_pass将用户的请求转发给webserver集群

                        proxy_pass http://webserver;

                        }

                        }

                        .. ..

                        }

                     重新加载 /usr/local/nginx/sbin/nginx -s reload

                     用客户端去访问nginx代理服务器,就会轮流访问目标服务器  

                2. 调度方法

                        轮寻(默认的)

                        在/usr/local/nginx/conf/nginx.conf文件下修改配置文件    

                        upstream webserver {

                                server 192.168.99.100 weight=2;

                                server 192.168.99.200;

                        }

                3.健康检查:

                        设置健康检查,max_fails可以设置后台服务器的失败次数,fail_timeout可以设置后台服务器的失败超时时间。

                        在 /usr/local/nginx/conf/nginx.conf 文件下修改配置文件

                         upstream webserver {
                              server 192.168.99.100;
                              server 192.168.99.200 max_fails=2 fail_timeout=30;
                              }

                 每次修改配置文件,都要重新加载nginx服务

                4. down :表示当前server暂时不参与负载        

                        upstream webserver {

                        server 192.168.99.100 ;

                        server 192.168.99.200 down;

                        }

                        

                                                

2. lnmp架构访问流程及原理

        (个人理解,同时也参考了其它博客)

        用户访问网站时,向web服务器发送请求,如果请求的是静态页面,服务器直接返回静态网页资源。

        如果请求的是动态页面,由于nginx网站是无法解析动态页面的,php会调用fast-cgi接口,(fast-cgi可以将HTTP服务器和动态脚本语言分开,也可以理解为一种协议)php-fpm这个进程就会产生子进程,由php解释器去解析php代码,将解释后的结果返回给nginx。

        1. 配置过程:

                默认的模板配置文件/usr/local/nginx/conf/nginx.conf.default

                还原配置文件/usr/local/nginx/conf/nginx.conf可以直接把模板文件复制覆盖过来

                工具包:gcc(编译工具包) ,pcre-devel(正则表达式依赖包) ,openssl-devel(SSL加密依赖包)

                nginx装包:nginx包

                数据库的包:mariadb(数据库客户端软件) ,mariadb-server(数据库器软件),mariadb-devel(其他客户端软件的依赖包)

                php的包:php(解释器),php-fpm(进程管理器服务),php-mysqlnd(PHP的数据库扩展包)

                1.将数据库mariadb,nginx,php-fpm全部启动

                2. 使用端口的方连接php-fpm

                     在/etc/php-fpm.d/www.conf目录下修改配置文件

                        [www]

                     listen = 127.0.0.1:9000                    #php-fpm端口号(使用网络通信)

                     ;listen = /run/php-fpm/www.sock            #注释该行

                        pm.max_children = 50                #最大进程数量

                        pm.start_servers = 5                #最小进程数量

                     重启php-fpm服务进程

                        

                    或者使用socket方式连接php-fpm

                        在/etc/php-fpm.d/www.conf目录下修改配置文件

                           [www]

                           ;listen = 127.0.0.1:9000                    #注释或删除该行

                           listen = /run/php-fpm/www.sock                #socket方式(使用进程通信)

                           listen.acl_users = apache,nginx,nobody        #添加nobody账户

                       重新启动php-fpm服务

          

                3.  修改nginx配置文件(端口连接的方式)

                     在/usr/local/nginx/conf/nginx.conf目录下修改配置文件

                        ...

                        location ~ \.php$ {        #~是使用正则表达式,匹配以.php结尾

                        root html;

                        fastcgi_pass 127.0.0.1:9000; #将请求转发给本机9000端口

                        fastcgi_index index.php;

                        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                        include fastcgi.conf; #加载fastcgi配置文件

                        }

                   重现加载nginx服务  /usr/local/nginx/sbin/nginx -s reload

                

                    修改nginx配置文件(socket连接的方式)

                    在/usr/local/nginx/conf/nginx.conf文件内修改配置文件

                        ...

                        location ~ \.php$ {                    #~是使用正则表达式,匹配以.php结尾

                        root html;

                        #fastcgi_pass 127.0.0.1:9000;        #注释或删除该行

                        fastcgi_pass unix:/run/php-fpm/www.sock; #将请求转发给php-fpm进程

                        fastcgi_index index.php;

                        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                        include fastcgi.conf;            #加载fastcgi配置文件

                        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值