Windows下安装Nginx和PHP

目录

看网上写的,nginx真不适合windows,但我又不想装Linux,只能凑合着用了。

下载

去官网下载最新版。
Nginx有编译过的windows二进制包,直接可用。稍微搜索了下,预编译的版本支持功能少,想用一些高级功能,就得自己编译,不过比较费劲。
PHP可以选VC9的压缩包,而Apache只能选VC6版本的。

配置PHP

修改ini文件即可。主要改以下几个地方:
1. 目录。设置文档和扩展的目录。
doc_root =
extension_dir =
2. 时区。这个一定要设置好。
date.timezone = Asia/Shanghai
3. 选择所用的扩展库。选需要的库,比如:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
4. 设置cgi参数
enable_dl = on
cgi.force_redirect = 1
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
除了以上四个部分,还有更多的设置可以修改,看文件大小就知道选项特别多。
配置Ngnix
Ngnix的设置文件比Apach的简单多了,文件结构也很清晰,一看就明白选项都有什么用。修改conf/ngnix.conf,主要修改文件目录和PHP FastCGI的部分,设置文件中都预留好了,直接去掉注释就行。

server {
        listen       80;
        server_name  localhost;
        charset utf-8; // 这里
        #access_log  logs/host.access.log  main;
        location / {
            root   html; // 这里改成网页根目录
            index  index.php index.html index.htm; // 这里加上PHP
        }
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    root           html; # 这里改成网页根目录
    fastcgi_pass   127.0.0.1:9000; // 这里是PHP FastCGI服务器的端口
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  html$fastcgi_script_name; # html改成网页根目录
    include        fastcgi_params;
}

启动PHP

php-cgi.exe  -b 127.0.0.1:9000 -c  php.ini
两个参数分别是php服务器地址和配置文件。

启动Ngnix

在bin目录下,直接运行ngnix就行。或者加上选项。

关闭

直接用taskkill命令结束进程。

taskkill /F /IM nginx.exe > nul
taskkill /F /IM php-cgi.exe > nul

直接关掉nginx的窗口没用,得用类似 nginx -s quit 的命令关掉服务器或者像上面那样,直接关掉进程。

另外

可以下载个RunHiddenConsole工具,可以隐藏控制台窗口。写成脚本。