construcción del entorno de windows nginx php

Referencia: http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html

Configurar el entorno nginx + php en windows

  Cuando vi la palabra nginx, sentí curiosidad por su pronunciación (motor x). Mi traducción literal es "motor x". Generalmente, "motor x" se usa para indicar rendimiento y "x" parece significar "xtras (El efecto extra) ", entonces la palabra completa significa algo como" efecto extremo "y" rendimiento extra ". Por supuesto, esto no es para charlar, lo anterior es una digresión.

  Comparado con el familiar apache e IIS, las ventajas de nginx, hasta donde yo sé de una manera simple, son "proxy inverso" y "equilibrio de carga". Por lo tanto, considerando que puede ahorrar recursos para el servidor web, puede reemplazar a apache para proporcionar servicios web. Así que vayamos al grano, nginx tiene tantas ventajas, ¿cómo configurar el entorno nginx + php en Windows? Todavía hay muchos artículos reimpresos en Internet. Aquí está mi proceso de configuración para presentar:

1. El paquete de aplicación que se debe preparar primero.

  nginx: nginx / Windows-1.0.4

  php: php-5.2.16-nts-Win32-VC6-x86.zip  (php bajo nginx se ejecuta en modo FastCGI, por lo que descargamos el paquete php no seguro para subprocesos que es nts)

  (También se utiliza) RunHiddenConsole: RunHiddenConsole.zip

2. Instalación y configuración.

 1) Instalación y configuración de PHP.

  Descomprima el paquete php descargado directamente y vaya al directorio wnmp (D: \ wnmp) de la unidad D. Aquí, cambie el nombre de la carpeta descomprimida a php5. Ingrese a la carpeta para modificar el archivo recomendado por php.ini a php.ini y ábralo con Editplus o Notepad ++. aparecer

    
     
     
extension_dir = " ./ext "

cambiar a

    
     
     
extension_dir = " D: / wnmp / php5 / ext "
Mira hacia abajo y encuentra
    
     
     
; extensión = php_mysql.dll ; extensión = php_mysqli.dll

Después de especificar la ruta ext de php, simplemente elimine el ";" correspondiente delante del paquete de expansión requerido. Abra php_mysql.dll y php_mysqli.dll aquí para permitir que php admita mysql. Por supuesto, no olvide que el paso muy importante es copiar el archivo libmysql.dll en el directorio php5 al directorio C: \ Windows. También puede especificar la ruta en la variable del sistema. Por supuesto, elegí la más conveniente método ^ _ ^.

En este punto, php ya puede soportar mysql.

  A continuación, configuraremos php para que php se pueda combinar con nginx. aparecer

    
     
     
; cgi.fix_pathinfo = 1

Quitamos el título aquí.

    
     
     
cgi.fix_pathinfo = 1
Este paso es muy importante , aquí está la configuración de php CGI.

 2) Instalación y configuración de nginx.

  把下载好的nginx-1.0.4的包同样解压到D盘的wnmp目录下,并重命名为nginx。接下来,我们来配置nginx,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到

    
     
     
location / { root html;      #这里是站点的根目录 index index.html index.htm; }

root  html;改为root   D:/wnmp/www;

再往下,找到

Copiar codigo
    
     
     
# 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; # fastcgi_param SCRIPT_FILENAME / scripts$fastcgi_script_name; # include fastcgi_params; #}
Copiar codigo

先将前面的“#”去掉,同样将root  html;改为root   D:/wnmp/www;。再把标记为红色的/scripts改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,这是改完后的:

Copiar codigo
    
     
     
# pass the PHP scripts to FastCGI server listening on 127.0 . 0.1 : 9000 # location ~ \. php $ { root D: /wnmp/www; fastcgi_pass 127.0.0.1:9000 ; fastcgi_index index . php ; fastcgi_param SCRIPT_FILENAME $document_root $ fastcgi_script_name ; include fastcgi_params ; }
Copiar codigo

保存配置文件,就可以了。

  nginx+php的环境就初步配置好了,来跑跑看。我们可以输入命令 

来启动php,并手动启动nginx,当然也可以利用脚本来实现。

  首先把下载好的RunHiddenConsole.zip包解压到nginx目录内,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。然后来创建脚本,命名为“start_nginx.bat”,我们在Notepad++里来编辑它

Copiar codigo
    
     
     
@echo off REM Windows 下无效 REM set PHP_FCGI_CHILDREN=5 REM 每个进程处理的最大请求数,或设置为 Windows 环境变量 set PHP_FCGI_MAX_REQUESTS = 1000 echo Starting PHP FastCGI ... RunHiddenConsole D: / wnmp / php5 / php-cgi . exe -b 127.0 . 0.1 : 9000 -c D: / wnmp / php5 / php . ini echo Starting nginx ... RunHiddenConsole D: / wnmp / nginx / nginx . exe -p D: / wnmp / nginx
Copiar codigo

再另外创建一个名为stop_nginx.bat的脚本用来关闭nginx

Copiar codigo
    
     
     
@echo off echo Stopping nginx ...     taskkill / F / IM nginx . exe > nul echo Stopping PHP FastCGI ... taskkill / F / IM php-cgi . exe > nul exit
Copiar codigo

做好后,是这样的

这样,我们的服务脚本也都创建完毕了。双击start_nginx.bat看看进程管理器是不是有两个nginx.exe的进程和一个php-cgi.exe的进程呢?

这样nginx服务就启动了,而且php也以fastCGI的方式运行了。

到站点目录下,新建一个phpinfo.php的文件,在里面编辑

    
     
     
<? php phpinfo (); ?>

Después de guardar, abra el navegador e ingrese "http: //localhost/phpinfo.php", si ve

Significa que se ha configurado el entorno de nginx + php, jeje ~







Archivo de configuración de Nginx


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       81;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

	 
		root   D:\php\pingqiujia; 
		#root   "D:/www/project/pingqiujia/";
   
		 location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }

		if ($request_filename !~ (static|tmp|docment|robots\.txt|ceshi.php|index\.php.*) ) {
            rewrite ^/(.*)$ /index.php?$1 last;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
		
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #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;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}


Inicio rápido start_nginx.bat

@echo off
echo Starting PHP FastCGI...
D:\program\nginx-1.6.3\RunHiddenConsole.exe D:\program\php-5.6.15-nts-Win32-VC11-x64\php-cgi.exe -b 127.0.0.1:9000 -c D:\program\php-5.6.15-nts-Win32-VC11-x64\php.ini
echo Starting nginx...
D:\program\nginx-1.6.3\RunHiddenConsole.exe D:/program/nginx-1.6.3/nginx.exe -p D:/program/nginx-1.6.3

Cierre rápidamente stop_nginx.bat

@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit








Supongo que te gusta

Origin blog.csdn.net/zwx_lucky/article/details/78035314
Recomendado
Clasificación