zoukankan      html  css  js  c++  java
  • LNMP简要配置

    部署LNMP环境
    nginx[web服务,接收用户的请求]
    php     [解释器]
    yum -y localinstall php-fpm-5.4.16<tab> [服务]
    mariadb                [数据库客户端]
    mariadb-server [数据库服务器]
    mariadb-devel  [依赖包]
    php-mysql        [php连接mysql的扩展包]
    所有服务
    [root@proxy lnmp_soft]# netstat -nutlp |grep 80
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4595/nginx: master  
    [root@proxy lnmp_soft]# netstat -nutlp |grep 3306
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      9572/mysqld         
    [root@proxy lnmp_soft]# systemctl restart php-fpm
    [root@proxy lnmp_soft]# netstat -nutlp |grep 9000
    tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      11156/php-fpm: mast 
    nginx+FastCGI
    工作原理图:



    工作流程:
    1web server 启动时载入fastCGI进程管理器
    2FastCGI进程管理器初始化,启动多个解释器进程
    3、当客户端请求到达web server时,FastCGI进程管理器选择并连接一个解释器(php 90004FastCGI子进程完成处理后返回结果,将标准输出和错误信息从同一连返回web server
    

    FastCGI简介 FastCGI是一种常住型的CGICGI解释器进程保持在内存中,进行委会与调度 FastCGI技术目前支持语言有PHPC/C++javePerlPythonRubyFastCGI缺点:内存消耗大 配置FastCGI
    [root@proxy ~]# grep -v "^;" /etc/php-fpm.d/www.conf
    [www]
    listen = 127.0.0.1:9000                监听9000(php-fpm服务)
    listen.allowed_clients = 127.0.0.1        允许的客户地址
    user = apache                    用户
    group = apache                    用户组
    pm = dynamic                    模式
    pm.max_children = 50                
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35 
    slowlog = /var/log/php-fpm/www-slow.log
    php_admin_value[error_log] = /var/log/php-fpm/www-error.log
    php_admin_flag[log_errors] = on
    php_value[session.save_handler] = files
    php_value[session.save_path] = /var/lib/php/session
    编辑nginx.conf
    location ~ .php$ {
               proxy_pass   http://127.0.0.1;
            }
    
             pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    
            location ~ .php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
    地址重写
    rewrite 旧 新 【选项】
    redirect 地址栏变,临时重定向
    permanent 地址栏变,永久重定向
    last		停止执行其他rewrite
    break		停止执行其他语句,结束访问
    rewrite /a.html /b.html last; 
    rewrite /b.html /c.html last;
    rewrite /c.html /a.html last;	防止死循环
    
    1:访问a.html跳转到b.html
    vim /usr/local/nginx/conf/nginx.conf
    ... ...
        server {
                listen 80
                server_name localhost;
        location / {
                rewrite a.html /b.html  redirect;
        }
    #echo "BB" > /usr/local/nginx/html/b.html
    #nginx -s reload
    2:访问192.168.4.5跳转到www.tmooc.cn
    vim /usr/local/nginx/conf/nginx.conf
    ... ...
        server {
                listen 80
                server_name localhost;
        location / {
                rewrite ^/  http://www.tmooc.cn;
        }
    
    附加:
    访问旧的网站页面,跳转到新的网站相同页面
      rewrite ^/(.*)     http://www.jd.com/$1;
     保留和粘贴
    3:不同浏览器访问相同页面返回结果不同
    ie  http://192.168.4.5/test.html 
    
    firefox http://192.168.4.5/test.html
    
    uc  http://192.168.4.5/test.html
    
    nginx【内置变量】
    vim /usr/local/nginx/conf/nginx.conf
      server {
            ... ...
        if ($http_user_agent ~* curl){
            rewrite ^/(.*)  /curl/$1;
        }   
    #cd  /usr/local/nginx/html
    #echo "1" >test.html
    #mkdir curl
    #echo "2" >curl/test.html
    #nginx -s reload
    firefox http://192.168.4.5/test.html
    curl http://192.168.4.5/test.html
    4:如果用户访问的页面不存则转到首页
    vim /usr/local/nginx/conf/nginx.conf
     server {
            ... ...
        if (!-e  $request_filename){
            rewrite ^/  http://192.168.4.5;
        }  
    #nginx -s reload

    易错

    1php服务没有启动

    2nginx配置文件[动静分离] 出现下载页面

    3404 not found 没有此网页或网页位置放错

    4、空白页面 脚本写错了

  • 相关阅读:
    js判断时间间隔
    redis 常用命令
    Spring 启动 自动调用方法的两种形式
    多线程的异常处理
    多线程Monitor.TryEnter(有一个聪明的员工找老板。看到老板们在里面都掐成一团乱麻了,算了我还是撩吧)
    多线程中多个join的执行过程
    多线程之向线程传递参数
    ASP.Net Core下的安全(授权、身份验证、ASP.NET Core Identity)
    C# 中常用的索引器(转)
    《戏班的故事》C#基础之多线程之“前台线程-后台线程”
  • 原文地址:https://www.cnblogs.com/lxyqwer/p/lnmp.html
Copyright © 2011-2022 走看看