nginx配置解释、nginx搭建一个web站点

问题0 

    nginx配置

    location /subscribe/  
    {
    root  /test/www/;
    #rewrite ^/subscribe/(.*)$ /subscribe/index.php?file=$1
    fastcgi_param SCRIPT_FILENAME /test/www/subscribe/index.php;
    fastcgi_pass  127.0.0.1:9000;
    #fastcgi_pass  unix:/usr/local/php5.5/var/sock/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    access_log /test/logs/subscribe.log main;
    }

   1.rewrite ^/subscribe/(.*)$ /subscribe/index.php?file=$1   这个是说在遇到含有/subscribe/的请求时,进行重定向

   比如请求/subscribe/list    将此次请求指向index.php 并将file=list作为参数传递过去

   2.fastcgi_param SCRIPT_FILENAME /test/www/subscribe/index.php;这里是给一个fastcgi参数(SCRIPT_FILENAME)赋值

 多说一句:SCRIPT_FILENAME表明目标进程要执行哪个php脚本,这样赋值后的意思是在遇到含有/subscribe/的请求时让其访问index.php文件

 3.include fastcgi_params; 包含fastcgi_params文件中的变量

 4.document_uri 同 uri:不带请求参数的当前URI,$uri不包含主机名;request_uri 带有参数的当前uri,不含主机名;

    

问题1

要在虚机上搭一个站点(jk.svnmanager.fang.com),以便能在windows主机上访问

在虚机上安装好了nginx(apt-get install nginx) 

在nginx.conf中搭建好了站点,在etc/hosts中硬解好了地址

然后在windows的hosts文件中也硬解好了地址

在浏览器中访问的时候,总是报404错误


解决

查看站点的访问站点(jk.svnmanager.fang.com)的访问记录能查到所有的访问记录

去nginx的报错日志error.log中查看发现总报错

13357#0: *106 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.225.1, server: jk.svnmanager.fang.com
, request: "GET /createSvnCase.api?returntype=1&param={%22SecurityKey%22:%2276d027cb%22,%22SvnCaseName%22:%22test01%22} HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000",host: "jk.svnmanager.fang.com"


上网调查发现是linux机器上少装了一个php-fpm的东西,因为我装的是php5,所以装了一个php5-fpm(apt-get install php5-fpm)

装好后启动了一下服务service php5-fpm start

ok,问题解决!


PS:若安装好nginx后nginx启动不了,可以查看是否是80端口被占(netstat -anl | grep "80"),若被占使用命令sudo fuser -k 80/tcp释放80端口,执行命令
/usr/sbin/nginx -c /etc/nginx/nginx.conf

/usr/sbin/nginx -s reload

启动nginx


问题2.

ubuntu 12.04版本上apt-get install php默认的是php5.3需升级至5.5


解决

apt-get install python-software-properties
add-apt-repository ppa:ondrej/php5
apt-get update && sudo apt-get dist-upgrade
apt-get install php5


升级后又出现了问题1中的错误,此时php5-fpm已经安装,

指令php -v 和 php5-fpm -v 均能出现相应结果

排查问题方法:输入下图命令查看是否有划线处,如果没有说明没有启动fastcgi


如何启动?

1.找到php-fpm.conf   在其中的listen处改成listen=127.0.0.1:9000

2.重启php即可                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值