windows搭建nginx + php环境
前言: php开发项目,小编还是不建议独立搭建环境,小编认为独立搭建每一个环境(web服务器、mysql、redis等)有违php快速打造一个项目的理念,选型php本身就是追求开发速度快、容易部署的优点等站在巨人肩膀上的诸多优点。独立搭建每个环境有点本末倒置的意思。
那么本篇文章的目的是干什么呢?
开发意义 > 部署意义,对于可能同时服务于多个语言的开发者朋友而言,自己的开发机上通常是已经搭建过常用的环境了(mysql、nginx等)。此时,接手开发或者维护一个php的项目,安装任何一个【整合型环境】都可能会对之前搭建过的环境有一些冲突的影响。比如,无论安装的是wamp还是phpstudy,它们内部整合的mysql和已搭建的mysql可能会有端口号冲突的影响,redis等其他环境同理,当然这些都是有办法解决的,说到底无非是端口号、配置和进程的问题。本篇文章独立搭建nginx和php环境,算是解决以上冲突问题的其中一种方法吧。
下载和安装
- 这个步骤自行到官网下载即可,小编这会儿的版本是nginx1.18.0、php7.4.11
- nginx官网: http://nginx.org/en/download.html
- php官网: http://php.net/downloads.php
配置php
- 进入php根目录,找到php.ini-development配置文件,复制为php.ini。
- 找到extension_dir配置项
改为;extension_dir = "./"
extension_dir = "ext"
- 找到cgi.fix_pathinfo配置项
改为;cgi.fix_pathinfo=1
Tips: 本文不需要改其他的配置了。不过值得提醒的是,通常的php项目还需要其他的extension才能够正常完成,比如mysql,openssl之类的配置。cgi.fix_pathinfo=1
配置nginx
- 进入nginx根目录,进入conf文件夹,打开nginx.conf。
- 新增内容,按需修改即可,推荐只修改【端口号】和【路径】即可。
server { listen 82; server_name localhost; set $path D:\project\PHP\helloworld_thinkphp\public; location / { root $path; index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } location ~ \.php$ { root $path; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
启动
- 打开cmd,切换到php根目录下,启动php-cgi,假设php根目录为:C:\Users\hasee\Downloads\php-7.4.11
cd C:\Users\hasee\Downloads\php-7.4.11 .\php-cgi.exe -b 127.0.0.1:9000 -c .\php.ini
- 打开cmd,切换到nginx根目录下,启动nginx,假设nginx根目录为:C:\Users\hasee\Downloads\nginx-1.18.0
cd C:\Users\hasee\Downloads\nginx-1.18.0 .\nginx.exe
- 访问测试。如本文以上的配置,则访问127.0.0.1:82即可。
(可选)批处理一键启动
- 命令的形式显然不太方便记忆,实际上也不需要记忆,写成一键启动的脚本就好了。windows的脚本技术使用批处理,小编给出的一键启动如下,将其复制到一个xxx.bat文件中即可,以后启动nginx + php环境,双击它就可以了。
cd C:\Users\hasee\Downloads\php-7.4.11 start cmd /k .\php-cgi.exe -b 127.0.0.1:9000 -c .\php.ini cd C:\Users\hasee\Downloads\nginx-1.18.0 .\nginx.exe -s quit start cmd /k .\nginx.exe
打赏二维码: