阿裡雲服務器可以到鏡像市場選擇配置好環境的系統,選擇合適系統和相關配置即可,linux系統相對更新安全一些,所以就選擇了linux系統的,下面就總結一下遇到的問題和解決方法
我選的linux系統+mysql-5.5.37+nginx-1.4.7+php-5.4.27 項目用的ThinkPHP3.1.3
剛上傳上去,遇到的問題
1、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; } default.conf修改完配置,就需要重啟Nginx,可以通過重啟實例(即系統)或者通過命令
重啟實例略
操作命令如下
nginx -s reload 修改配置後重新加載生效 關閉nginx: nginx -s stop 快速停止nginx
阿裡雲服務器在這裡重啟會有問題(即:"/alidata/server/nginx/logs/nginx.pid" failed)
(參考地址為:http://www.dedecms8.com/os/linux/49999.html)
解決辦法就是直接在ssh或者其他終端裡執行:
/alidata/server//nginx/sbin/nginx -c /alidata/server//nginx/conf/nginx.conf然後切換到logs目錄下,執行ll看到nginx.pid進程,即說明正常啟動: [root@localhost nginx]# cd logs/ [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了~~