几年之前刚玩wordpress的时候,还是用apache+wordpress,而后来虽然自己成了nginx粉,却也只是用来做nginx+python的开发,没有把nginx+php配合起来。这次趁这要搭建wordpress的调试环境,所以重新梳理了一遍。 PS:网上很多盛传的版本,基本都不太准,我这里算是亲身试验了,给大家个准的 PS2:这次就在windows下来搞了,其实在linux也是一样 OK,我们正式开始 一. php安装部署
- 到php windows下载页面下载zip包,而不是安装包
- 解压,我是解压到 D:\program\php5
- 重命名php.ini-production为php.ini
- 修改php.ini
- 将如下代码去掉注释来支持mysql
extension=php_mysql.dll
将如下代码去掉注释,来指明ext的路径extension_dir = "ext"
二. mysql安装部署
- 到http://www.mysql.com/downloads/mysql/下载windows版MySQL Community Server
- 安装,并启动服务(默认是随机启动,否则请 net start mysql)
三. nginx安装部署
- 到 http://www.nginx.org/下载最新的nginx
- 解压,我是解压到 D:\program\nginx
- 可以新建如下三个bat脚本,可以快速的实现nginx在windows下的启动、停止、重载,放在与nginx.exe的统计目录即可
- start.bat
%~d0 cd "%~dp0" start nginx.exe
stop.bat%~d0 cd "%~dp0" start nginx.exe -s stop
reloat.bat%~d0 cd "%~dp0" start nginx.exe -s reload
四. wordpress安装部署
- 到 http://cn.wordpress.org/ 下载wordpress最新版
- 解压,我是解压到D:\www\wp
- 在 D:\www\wp 目录下新建如下脚本
- start.bat
D:/program/php5/php-cgi.exe -b 127.0.0.1:1998 -c D:/program/php5/php.ini
set wscriptObj = CreateObject("Wscript.Shell") wscriptObj.run "start.bat",0
其中,start.bat可以能够启动fastcgi服务,但是会有一个dos窗口。如果用start.vbs的方式启动,就可以隐藏掉dos窗口。
五. 配置nginx
server { listen 80; server_name wp.qq.com; root D:/www/wp; rewrite /wp-admin$ $scheme://$host$uri/ permanent; location / { fastcgi_pass 127.0.0.1:1998; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } }
- 修改nginx.conf,新建server配置如下
- 其中如下两项,你可能和我设置的不一样,自行修改就可以了
root D:/www/wp; fastcgi_pass 127.0.0.1:1998;
而对于如下的静态化的配置,则一定要配置上,之前就是在这里调试了半天。。location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; }
- 重启nginx,OK!
OK,访问 127.0.0.1,看下是否出现了wordpress的安装界面?哈哈,搞定!
Heiher on #
生产环境下,还是 php-fpm 更好点。我是使用这样的方法:https://heiher.info/2069.html
Reply
Dante on #
嗯,生产环境肯定还是用标准的fastcgi管理器比较好。
调试的话,用php本身自带的,linux和windows下都可以用~~哈
Reply
moper on #
来沙发~
Reply
Fleeting Years on #
建议直接看 lnmp.org 这套工具,里面有各种详细的配置。
PS: 话说博主有空的时候能写一下如何搭建 nginx + python(uwsgi) 的生产环境么,我这里死活搞不懂如何配置,文件们放在哪里呃。
Reply
Dante on #
嗯? 我博客里面有很多uwsgi+nginx的文章哦~ 搜一下uwsgi应该就能找到,虽然不是标准的生产环境,不过应该也勉强可用。
Reply
Amm on #
%~d0
cd "%~dp0"这是什麽意思,貌似第一次见到?求解
Reply
Dante on #
是windows下bat的语法。。
Reply
潇湘竹溪 on #
%~d0
和%~dp0是什么意思???
Reply
潇湘竹溪 on #
不好意思,我明白了~~
一个是文件所在盘符,一个是文件所在路径
Reply
来看看如何配置 on #
这个学习了。。。我自己也搭了一个WD环境。
向高手们多学习学习。
Reply
hit9 on #
我很关心varnish怎么搭建...尝试好久了..
Reply