PHP学习日记 Windows配置PHP+Nginx+自动化脚本
Windows配置PHP+Nginx+自动化脚本
- 安装与配置 PHP
下载PHP:传送门

选择合适的版本下载 尽量选Thread Safe
配置PHP:
解压后在文件夹中找到php.ini-development文件复制一份并改名为php.ini
给PHP指定可加载扩展模块的位置。
在php.ini中找到extension_dir项目,取消注释并赋值为”./ext”:


- 然后让PHP和Nginx联动。
在php.ini 中找到cgi.fix_pathinfo项目,取消注释


- Nginx的安装与配置
- Nginx下载:传送门

选择一个合适的版本下载(图中红框位置为最新版)。
下载后选择合适的位置安装
点击 nginx.exe**启动**nginx
打开cmd,输入:
:: tasklist显示进程,/fi筛选器,""中为映像名称等于nginx.exe
tasklist /fi "imagename eq nginx.exe"
nginx正常启动的情况下:

这时在浏览器中输入localhost就能看到nginx的欢迎页面:

接下来配置Nginx
在Nginx的目录下的conf目录下打开nginx.conf.
做以下修改:
#user nobody;
worker_processes 1;
# 打开log
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"';
# 打开log
access_log logs/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
# 打开log
access_log logs/host.access.log;
location / {
# 设置网站的根目录(类似Apache的www目录)
# 这个路径自己定义就行,下面的是我自己的路径
root D:/work/www;
# 把index.php添加到默认首页,就是输入/时自动打开/index.php
index index.html index.htm index.php;
}
# 打开404页面(可以不动)
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
# 配置FastCGI,PHP 脚本请求全部转发到 FastCGI处理
location ~ \.php$ {
#
root D:/work/www;
# 设置监听端口
fastcgi_pass 127.0.0.1:9000;
# 设置nginx的默认首页文件(上面已经设置过了,可以删除)
fastcgi_index index.php;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
}
之后**启动**php-cgi和Nginx
先双击nginx.exe启动Nginx
然后打开cmd输入如下,启动php-cgi
:: 打开cgi -b指定端口 -c指定php.ini的位置 D:/PHP/php-cgi.exe -b 127.0.0.1:9000 -c D:/work/php/php.ini
这时我们可以测试一下启动是否成功。
在网站根目录下新建一个php文件:(例如我的是:phpinfo.php)
<?php phpinfo();
然后打开浏览器进入网址localhost/phpinfo.php
如果成功会进入如下页面:

环境就成功搭建完了。
- 配置脚本
- 下载RunHiddenConsole.exe(隐藏cmd窗口)
- 编辑批处理文件
start.bat
@ECHO off SET php_home=D:/PHP/ SET nginx_home=D:/Nginx/ ECHO Starting PHP FastCGI... RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini ECHO Starting nginx... RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home
stop.bat
@ECHO off ECHO Stopping nginx... TASKKILL /F /IM nginx.exe ECHO Stopping PHP FastCGI... TASKKILL /F /IM php-cgi.exe EXIT
RunHiddenConsole.exe 后续补充
PHP学习日记 Windows配置PHP+Nginx+自动化脚本的更多相关文章
- Linux学习之十七-配置Linux简单的脚本文件自启动
配置Linux简单的脚本文件自启动 在Linux中使用shell脚本解决一些问题会比单独执行多条命令要有效率,脚本文件规定命名以.sh结尾,最基本的规则就是其内容是命令,想要脚本文件开机自启动,就需要 ...
- NodeJS学习日记--环境配置及项目初始化
在node.js官网下载nodejs安装包 安装完成后打开控制台,输入 npm -version 如果正确显示npm版本则安装成功. 创建项目之前先要安装以下全局扩展模块 npm install -g ...
- Hadoop实战4:MapR分布式集群的安装配置及shell自动化脚本
MapR的分布式集群安装过程还是很艰难的,远远没有计划中的简单.本人总结安装配置,由于集群有很多机器,手动每台配置是很累的,编写了一个自动化配置脚本,下面以脚本为主线叙述(脚本并不完善,后续继续完善中 ...
- 【转】Nginx 学习笔记(十一)nginx下安装配置naxsi waf防火墙(附完整编译、配置)
原文地址:http://f2ex.cn/nginx-installed-configuration-naxsi-waf/ Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开 ...
- windows配置nginx实现负载均衡集群
windows配置nginx实现负载均衡集群2014-08-20 09:44:40 来源:www.abcde.cn 评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是lin ...
- windows server,nginx安装,配置,运行nodeJS后端的web项目的实现,以及错误分析及解决方法
一.安装nginx 下载windows版nginx (http://nginx.org/download/nginx-1.12.2.zip),之后解压到需要放置的位置(C:\nginx) 二.将Ngi ...
- windows配置nginx实现负载均衡集群 -请求分流
windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...
- Windows平台下nginx跨域配置
1)下载地址: http://nginx.org 2)启动 解压至d:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹D:\n ...
- 深度学习python的配置(Windows)
Windows下深度学习python的配置 1.安装包的下载 (1)anaconda (2)pycharm 2.安装教程 (1)anaconda a.降版本 b.换源 (2)pycharm a.修改h ...
随机推荐
- Java事件基础
package cn.Douzi.Event; import javax.swing.*; import java.awt.*; import java.awt.event.*; public cla ...
- Java并发编程原理与实战三:多线程与多进程的联系以及上下文切换所导致资源浪费问题
一.进程 考虑一个场景:浏览器,网易云音乐以及notepad++ 三个软件只能顺序执行是怎样一种场景呢?另外,假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而 ...
- C#(.net)水印图片的生成
/* * * 使用说明: * 建议先定义一个WaterImage实例 * 然后利用实例的属性,去匹配需要进行操作的参数 * 然后定义一个WaterImageManage实例 * 利用WaterI ...
- 20155322 2016-2017-2 《Java程序设计》第7周学习总结
20155322 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第七周学习的主要内容是课本的第十二第十三章: 第十二章主要内容: "Lambda ...
- 20155222 2016-2017-2 《Java程序设计》第7周学习总结
20155222 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 使用基于方法的语法在 Enumerable 类中调用 Where 方法时(像在 LINQ t ...
- select 函数小结 -- 转自百度知道
http://zhidao.baidu.com/link?url=UVTXeK4ncKmnwatGUW2deMFylNYBuur-zHmK3w53NXNRpgPbhld2WdkMD766nKl_6Hj ...
- POJ 1185 炮兵阵地 (状态压缩DP)
题目链接 Description 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用& ...
- Python练习-os模块练习-还算是那么回事儿
# 编辑者:闫龙 # 小程序:根据用户输入选择可以完成以下功能: # 创建文件,如果路径不存在,创建文件夹后再创建文件 # 能够查看当前路径 # 在当前目录及其所有子目录下查找文件名包含指定字符串的文 ...
- UNIX环境高级编程 第9章 进程关系
在第8章学习了进程的控制原语,通过各种进程原语可以对进程进行控制,包括新建进程.执行新程序.终止进程等.在使用fork( )产生新进程后,就出现了进程父子进程的概念,这是进程间的关系.本章更加详细地说 ...
- #ifdef __cplusplus extern "C" { #endif”的定义的含义
看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事: Microsoft-Specific Predefi ...