使用阿里云服务器的总结——修改配置

回复 星标
更多
«使用阿里云服务器的总结——修改配置»

阿里云服务器可以到镜像市场选择配置好环境的系统,选择合适系统和相关配置即可。linux系统相对更安全一些,所以我就选择了linux系统,下面就总结一下遇到的问题和解决方法:

我选的linux系统+mysql-5.5.37+nginx-1.4.7+php-5.4.27

项目所用框架:ThinkPHP3.1.3


代码刚更新上去,遇到的问题:

nginx是不支持pathinfo的

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以我们需要修改/alidata/server/nginx-1.4.7/conf/vhosts这个文件,以便重写路由。

代码如下:

server {

listen       80 default;

server_name  _;

index index.html index.htm index.php;

root /alidata/www/default;

    #include /alidata/www/default/.htaccess;

   location /

    {

       index index.php;

        if (!-e $request_filename) {

          rewrite ^/(.*)$ /index.php/$1 last;

           break;

        }

    }

   location ~ .+\.php($|/) {

        set $script $uri; 

        set $path_info "/";

        if ($uri ~ "^(.+\.php)(/.+)") {

           set $script $1;

           set $path_info $2;

          }

         fastcgi_pass 127.0.0.1:9000;

         fastcgi_index index.php?IF_REWRITE=1;

         include /alidata/server/nginx-1.4.7/conf/fastcgi_params;

         fastcgi_param PATH_INFO $path_info;

         fastcgi_param SCRIPT_FILENAME $document_root/$script;

         fastcgi_param SCRIPT_NAME $script;

     }

   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${

       expires 30d;

    }

   location ~ .*\.(js|css)?$ {

       expires 1h;    

}

   access_log  /alidata/log/nginx/access/default.log;

}

修改完配置,就需要重启Nginx,可以通过重启实例(即系统)或者通过命令重启。操作命令如下:

修改配置后重新加载生效: nginx -s reload

关闭nginx: nginx -s stop  快速停止nginx

阿里云服务器在这里重启会有问题(即:"/alidata/server/nginx/logs/nginx.pid" failed),解决办法就是直接在ssh或者其他终端里执行:

/alidata/server//nginx/sbin/nginx -c /alidata/server//nginx/conf/nginx.conf

然后切换到logs目录下,执行ll看到nginx.pid进程,即说明正常启动:

[root@localhost logs]# ll

总用量 12

-rw-r--r-- 1 root root 1246 12月 9 18:10 access.log

-rw-r--r-- 1 root root 516 12月 10 15:39 error.log

-rw-r--r-- 1 root root   5 12月 10 15:38 nginx.pid

这样就OK了~~

新窗口打开 关闭