一直以来公司用的都是阿帕奇的服务器代理,但平时在浏览网页的过程中,发现很多网站用的都是nginx的WEB代理,出于好奇,学着配置了一下nginx服务器代理
需要准备的软件:nginx : http://nginx.org/en/download.html
php : http://windows.php.net/download
(下载PHP时需要注意,要根据你本机的VC版本来下载相应的版本。例如VC11开头的包,对应的是VC2012,如果版本对应不正确,则可能出现MSVCR110.dll缺失的报错。)
1.PHP安装和配置
下载完后,将压缩包解压到C:\php,将其中一个“php-ini-xxxx”重命名为“php-ini”,然后打开该配置文件,找到一下想,并修改。
extension=php_pdo.dll
extension=php_pdo_mysql.dll
cgi.force_redirect = 1
cgi.fix_pathinfo = 1
cgi.rfc2616_headers = 1
然后启动PHPFastCGI,方法是打开命令行,输入:c:/php/php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.ini以启动PHP FastCGI
2.nginx配置
将nginx解压到d:\nginx目录下。打开conf文件下的nginx.conf,找到以下项目,并修改。
location / {
root D:/wwwroot;
index index.php index.html index.htm;
}
# 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;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME D:/wwwroot$fastcgi_script_name;
include fastcgi_params;
}
然后在命令行下转到nginx所在目录,输入“start nginx”,启动nginx,如果启动成功,会在任务管理器的进程中看到两个nginx的进程。
启动时,可能会出现80端口被占用的情况,命令行下会提示:“2015/01/04 14:53:44 [emerg] 17268#14348: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)”。解决方法很简单,只要打开nginx.conf,然后将server下的端口改为没有被占用的端口(如:8011)即可。
启动nginx后,在浏览器中输入:http://127.0.0.1.8011(此处的8011是指上面更改的8011端口,如果端口没有改就启动了,那么只需要输入:127.0.01即可),回车。
出现“Welcome to nginx!”界面,说明一个简单的nginx就配置成功了。