zoukankan      html  css  js  c++  java
  • 制作维护Nginx脚本,并设置为开机自启动。


    由 于是开发环境,所以不必添加为系统服务,只要开机能启动就可以了。
    d:\webserver\nginx\nginx.exe 创建一个狂接方式,并添加到 开始菜单–>启动项 里面去。
    这样开机nginx就启动了。
    d:\webserver 文件夹下建立 nginx_reload.txt文件。
    里面输入

    1.d:

    2.cd \webserver\nginx\

    3.nginx.exe -s reload

    然后修改扩展名,为nginx_reload.bat
    这样当修改虚拟主机配置后,或修改rewrite规则后,可直接双击该文件完成 nginx配置的重新加载。
    而不必再在任务管理器内结束2nginx.exe进程,再双击nginx.exe以完成重启。
    php
    的 启动比较特殊,启动后控制台窗口会一直停留着,如果关闭控制台,或按Ctrl C ,则php-cgi.exe进程会被终止。
    所以要建立一个后 台运行的vbs脚本。
    d:\webserver 文件夹下建立一个 php.txt文件
    输入

    1.Set objShell = CreateObject("Wscript.Shell")

    2.objShell.Run("tskill php-cgi"), 0, TRUE

    3.objShell.Run("D:\webserver\php\php-cgi.exe -b 127.0.0.1:9000 -c D:\webserver\php\php.ini"), 0, TRUE

    并改名为php.vbs
    这时候双击此文件,会杀掉所有正在运行的php-cgi.exe进程,并重新启动一个php-cgi.exe进 程。
    由于是开发环境,我们只启动一个php-cgi.exe进程就可以了。
    将此文件创建一个快捷方式,并添加到 开始菜单–>启动项 里面去。
    这样 php就开机自动启动了。
    下面可以修改一下php.ini文件,和重启一下电脑测试看看 是否管用。
    5
    配置PATH_INFO 变量,以支持PHP框架中的URL路由。
    现有的各种 php框架中,都有url路由功能,使url格式都为 
    http://example.com/index.php/object/action/value/
    这是基于 php的全局变量 $SERVER['PATH_INFO']的。
    nginx只对 php-cgi.exe进行简单的代理,并不支持 PATH_INFO
    所以我们需要略微修改配置

    打开Nginx的配置文件nginx.conf在有判断的location里面修改代码为如下:

    01.location ~ .*\.php($|/)

    02.  

    03.{

    04.<div id="_mcePaste">root           E:\web\www;</div>

    05.<div id="_mcePaste">fastcgi_pass   127.0.0.1:9000;</div>

    06.<div id="_mcePaste">fastcgi_index  index.php;</div>

    07.<div id="_mcePaste">fastcgi_param  SCRIPT_FILENAME  E:\web\www$fastcgi_script_name;#PHP文件</div>

    08.<div id="_mcePaste">include        fastcgi_params;</div>

    09.<div id="_mcePaste">#配置path_info模式开始</div>

    10.<div id="_mcePaste"><strong><span style="color: #ff0000;"> set $path_info "";</span></strong></div>

    11.<div id="_mcePaste"><strong><span style="color: #ff0000;"> set $real_script_name $fastcgi_script_name;</span></strong></div>

    12.<div id="_mcePaste"><strong><span style="color: #ff0000;"> if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {</span></strong></div>

    13.<div id="_mcePaste"><strong><span style="color: #ff0000;"> set $real_script_name $1;</span></strong></div>

    14.<div id="_mcePaste"><strong><span style="color: #ff0000;"> set $path_info $2;</span></strong></div>

    15.<div id="_mcePaste"><strong><span style="color: #ff0000;"> }</span></strong></div>

    16.<div id="_mcePaste"><strong><span style="color: #ff0000;"> fastcgi_param SCRIPT_NAME $real_script_name;</span></strong></div>

    17.<div id="_mcePaste"><strong><span style="color: #ff0000;"> fastcgi_param PATH_INFO $path_info;</span></strong></div>

    18.<div id="_mcePaste">#配置path_info模式结束</div>

    19.}

    或者:

    01.location ~ .*\.php($|/)

    02.  

    03.{

    04.<div id="_mcePaste">root           E:\web\www;</div>

    05.<div id="_mcePaste">fastcgi_pass   127.0.0.1:9000;</div>

    06.<div id="_mcePaste">fastcgi_index  index.php;</div>

    07.<div id="_mcePaste">fastcgi_param  SCRIPT_FILENAME  E:\web\www$fastcgi_script_name;#PHP文件</div>

    08.<div id="_mcePaste">include        fastcgi_params;</div>

    09.<div id="_mcePaste">#配置path_info模式开始</div>

    10.<div id="_mcePaste">

    11.<div id="_mcePaste"><strong><span style="color: #ff0000;"> fastcgi_split_path_info ^(.*\.php)(.*)$; </span></strong></div>

    12.<div id="_mcePaste"><strong><span style="color: #ff0000;"><span style="white-space: pre;"> </span> fastcgi_param  PATH_INFO $fastcgi_path_info;</span></strong></div>

    13.</div>

    14.<div id="_mcePaste">#配置path_info模式结束</div>

    15.}

    这两种方法都是可以的!!

    (当然,本文中的已去掉)
    然后我们运行 d:\webserver\nginx_reload.bat
    这时 我们的nginx 就支持 url路由了。

     

  • 相关阅读:
    go系列(6)- beego日志模块的使用
    shell学习(8)- ulimit调优系统参数
    新年开工
    No module named yum错误的解决办法
    如何杀死defunct进程
    图灵机器人微信自动聊天功能
    go系列(5)- beego自己写controller
    Hadoop/Spark 集群都启动了哪些 Java 程序
    Spark 不允许在 Worker 中访问 SparkContext
    Spark 安装
  • 原文地址:https://www.cnblogs.com/gredswsh/p/1930556.html
Copyright © 2011-2022 走看看