Windows 配置nginx服务器 运行php项目

时间:2021-10-02 17:12:37

1下载

http://nginx.org/en/download.html

选择稳定版下载。

2 解压后 直接双击nginx.exe

双击后一个黑色的弹窗一闪而过

Windows 配置nginx服务器 运行php项目

3 修改配置文件nginx.conf

3.1 修改你的站点名称 我这边还是localhost

3.2

Windows 配置nginx服务器 运行php项目

   location / {
#root html;
root E:/ts.p2ps.cn;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string; if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
} }

3.3

Windows 配置nginx服务器 运行php项目

location ~ \.php$ {
root E:/ts.p2ps.cn;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

4 启动nginx

在cmd窗口下切换目录 输入命令:  nginx.exe

Windows 配置nginx服务器 运行php项目

5 修改php.ini配置

修改E:\PHP\php5.5\php5.5.12\ext下的php.ini-development文件,将文件名修改为php.ini,打开php配置文件php.ini:

搜索“extension_dir”,找到: ;extension_dir = “ext” 先去前面的分号再改为 extension_dir = “E:\PHP\php5.5\php5.5.12\ext”

搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai

搜索“enable_dl”,找到:enable_dl = Off 改为 enable_dl = On

搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0

搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分号

搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1

搜索“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll 去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll (支持MYSQL数据库)
Windows 配置nginx服务器 运行php项目

6  运行php

F:\xmapp\php>php-cgi.exe -b 127.0.0.1:9000 -c php.ini

Windows 配置nginx服务器 运行php项目

7  打开浏览器 输入localhost 运行成功

8 停止nginx服务器

nginx -s stop

Windows 配置nginx服务器 运行php项目

如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx

(1)输入nginx命令  nginx -s stop(快速停止nginx)  或  nginx -s quit(完整有序的停止nginx)

(2)使用taskkill   taskkill /f /t /im nginx.exe

10 制作批处理命令快速启动与关闭

Windows 配置nginx服务器 运行php项目

下载软件RunHiddenConsole.exe:

http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip

start_nginx.bat

@echo off

REM set PHP_FCGI_CHILDREN=5
set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI...
F:\nginx-1.14.2\RunHiddenConsole "F:\xmapp\php\php-cgi.exe" -b 127.0.0.1:9000 -c "F:\xmapp\php\php.ini"
echo Starting nginx...
F:\nginx-1.14.2\RunHiddenConsole "F:/nginx-1.14.2/nginx.exe" -p "F:/nginx-1.14.2/"

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

就可以双击运行控制启动与停止了。

11 参考资料

https://blog.csdn.net/weixin_41782253/article/details/82706617

12 直接用phpstudy

Windows 配置nginx服务器 运行php项目

#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 80;
server_name localhost;
root E:/ts.p2ps.cn; #access_log /tmp/testing.p2ps.cn.log;
#error_log /tmp/testing.p2ps.cn.log; #"upstream sent too big header" issue
#nginx 错误
# FirePHP 等造成头部过大的错误
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k; # 设置expires和max-age的时间
location ~* "^.+\.(jpe?g|gif|css|png|js|ico|pdf|zip|tar|t?gz|mp3|wav|swf)$" {
expires 30d;
log_not_found off;
} #location / {
# try_files $uri $uri/ /index.php?$args;
#} #将request指向index.php
location / {
index index.php index.html index.htm;
if (-f $request_filename) {
break;
}
if (-d $request_filename) {
break;
}
rewrite ^(.+)$ /index.php last;
} #主程序目录不能被访问
#location /www/{
# deny all;
#}
location /src/ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root/src/index.php;
include fastcgi_params;
#client_max_body_size 50m;
} #引用PHP CGI
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 600;
include fastcgi_params;
}
} # 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;
# }
#} }