如何部署thinkphp到阿里云nginx服务器

博客使用thinkphp开发的,上传到服务器上的时候,出现错误。一查才知道,nginx默认是不支持thinkphp里面PATH_INFO的路由方式。所以,下面我找了一个thinkphp在nginx上面的配置文件。完美支持普通,兼容,pathinfo,rewrite4种url模式,别怪我没提醒你收藏哦.

常见的静态文件404时也不会再去跑一遍fastcgi浪费资源。

  1. server {
  2.     listen       80;
  3.     server_name  shuchengxian.com;
  4.     root /var/www;
  5.     index  index.html index.htm index.php;
  6.     error_page  404              /404.html;
  7.     location = /404.html {
  8.         return 404 ‘Sorry, File not Found!’;
  9.     }
  10.     error_page  500 502 503 504  /50x.html;
  11.     location = /50x.html {
  12.         root   /usr/share/nginx/html; # windows用户替换这个目录
  13.     }
  14.     location / {
  15.         try_files $uri @rewrite;
  16.     }
  17.     location @rewrite {
  18.         set $static 0;
  19.         if  ($uri ~ \.(css|js|jpg|jpeg|png|gif|ico|woff|eot|svg|css\.map|min\.map)$) {
  20.             set $static 1;
  21.         }
  22.         if ($static = 0) {
  23.             rewrite ^/(.*)$ /index.php?s=/$1;
  24.         }
  25.     }
  26.     location ~ /Uploads/.*\.php$ {
  27.         deny all;
  28.     }
  29.     location ~ \.php/ {
  30.        if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { }
  31.        fastcgi_pass 127.0.0.1:9000;
  32.        include fastcgi_params;
  33.        fastcgi_param SCRIPT_NAME     $1;
  34.        fastcgi_param PATH_INFO       $2;
  35.        fastcgi_param SCRIPT_FILENAME $document_root$1;
  36.     }
  37.     location ~ \.php$ {
  38.         fastcgi_pass 127.0.0.1:9000;
  39.         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  40.         include fastcgi_params;
  41.     }
  42.     location ~ /\.ht {
  43.         deny  all;
  44.     }
  45.  }

将上面的代码,拷贝到你的网站的配置文件里面就可以了,唯一要修改的就是你的网站地址和域名。

代码:

  1. server_name  shuchengxian.com;
  2. root /var/www;

将其修改成为你自己的域名和网站的地址就可以了。

记得重启你的服务器。

  1. service nginx reload;
点赞

发表评论