Windows环境下用 Nginx + php 运行项目

 

 

转载:2018年09月17日 13:50:17 C云儿飘飘~ 

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

操作流程概览: 
1.PHPstorm把项目从svn导到本地 
2.下载安装mysql数据库,新建一个数据名为localdb 
3.用Navicat的数据传输功能,把服务器的数据库导到本地的localdb,作为本地的测试数据库 
4.打开项目的配置文件config.php,修改数据库连接的地址、账号、密码为本地数据库的相关信息。 
5.下载Nginx和PHP,修改其配置,用于启动PHP项目。

本文讲述的是第五步。

1.软件下载

我下载的版本是 nginx-1.6.3 和 php 5.5.12 ,可以根据自己的项目需要选择合适自己的版本。

软件解压位置: 
Nginx位置:E:\nginx-1.6.3 
PHP位置: E:\PHP\php5.5\php5.5.12 
PHP项目根目录:D:\PHPworkspace\kjb

2.Nginx配置

1)启动nginx,有多种方法 
①在E:\nginx-1.6.3下直接双击ngin.exe,双击后一个黑色的弹窗一闪而过 
这里写图片描述 
②也可以在cmd窗口下切换到E:\nginx-1.6.3,输入命令nginx.exe或者start nginx,回车即可

2)测试是否启动nginx。打开浏览器访问http://localhost时发现是错误页面,琢磨着是80端口被占用了,改成90端口了,操作如下:

修改文件:E:\nginx-1.6.3\conf\nginx.conf:

这里写图片描述

在浏览器中输入:http://localhost:90,发现网页启动成功

这里写图片描述

3.配置启动PHP

主要是nginx配置启动php,以cgi运行php。

修改文件:E:\nginx-1.6.3\conf\nginx.conf:

修改这段代码:

这里写图片描述

  • root修改成项目根目录
  • index增加index.php.修改后:
 location / {
            root  D:/PHPworkspace/kjb;
            index  index.html index.htm index.php;
            } 
        }
  • 1
  • 2
  • 3
  • 4
  • 5

修改这段代码以支持PHP:

这里写图片描述

  • 把location代码块的注释(#)去掉,
  • root后面改成项目根目录,
  • “/scripts”改为“$document_root”,(“$document_root”就是指前面“root”所指的站点路径)。
  • 修改后这部分代码如下:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
            root           D:/PHPworkspace/kjb;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

修改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数据库)

搜索关键词修改前修改后
extension_dir;extension_dir = “ext”extension_dir = “E:\PHP\php5.5\php5.5.12\ext”
date.timezone;date.timezone =date.timezone = Asia/Shanghai
enable_dlenable_dl = Offenable_dl = On
cgi.force_redirect;cgi.force_redirect = 1cgi.force_redirect = 0
fastcgi.impersonate;fastcgi.impersonate = 1fastcgi.impersonate = 1
cgi.rfc2616_headers;cgi.rfc2616_headers = 0cgi.rfc2616_headers = 1
php_mysql;extension=php_mysql.dllextension=php_mysql.dll
php_mysql;extension=php_mysqli.dllextension=php_mysqli.dll

其他的配置请按照自己的需求更改。

在E:\PHP\php5.5\php5.5.12下运行命令窗口,输入php-cgi.exe -b 127.0.0.1:9000 -c php.ini

这里写图片描述

重新启动nginx.exe,

在浏览器输入http://localhost:90,可以发现项目已经启动了。

这里写图片描述

点击首页的链接时,发现跳转的页面全是404,找了一下,说是在nginx.conf里要加上这段代码:

try_files $uri $uri/ /index.php?$query_string;
            if (!-e $request_filename){  
                rewrite ^/(.*) /index.php last;  
            } 
  • 1
  • 2
  • 3
  • 4

所以location最终的设置如下:

这里写图片描述

再次输入http://localhost:90,发现打开的页面都是正常的了。

至此,PHP项目启动成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值