使用阿里云服务器的总结一----修改配置
阿里云服务器可以到镜像市场选择配置好环境的系统,选择合适系统和相关配置即可,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修改这个文件,重写路由
代码如下:
<span style="color: #000000;">server { listen </span>80 <span style="color: #0000ff;">default</span><span style="color: #000000;">; server_name _; index index</span>.html index.htm index.<span style="color: #000000;">php; root </span>/alidata/www/<span style="color: #0000ff;">default</span><span style="color: #000000;">; </span><span style="color: #008000;">#</span><span style="color: #008000;">include /alidata/www/default/.htaccess;</span> location /<span style="color: #000000;"> { index index</span>.<span style="color: #000000;">php; </span><span style="color: #0000ff;">if</span> (!-e <span style="color: #800080;">$request_filename</span><span style="color: #000000;">) { rewrite </span>^/(.*)$ /index.php/$1<span style="color: #000000;"> last; </span><span style="color: #0000ff;">break</span><span style="color: #000000;">; } } location </span>~ .+\.php($|/<span style="color: #000000;">) { set </span><span style="color: #800080;">$script</span> <span style="color: #800080;">$uri</span><span style="color: #000000;">; set </span><span style="color: #800080;">$path_info</span> "/"<span style="color: #000000;">; </span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$uri</span> ~ "^(.+\.php)(/.+)"<span style="color: #000000;">) { set </span><span style="color: #800080;">$script</span> $1<span style="color: #000000;">; set </span><span style="color: #800080;">$path_info</span> $2<span style="color: #000000;">; } fastcgi_pass </span>127.0.0.1:9000<span style="color: #000000;">; fastcgi_index index</span>.php?IF_REWRITE=1<span style="color: #000000;">; </span><span style="color: #0000ff;">include</span> /alidata/server/nginx-1.4.7/conf/<span style="color: #000000;">fastcgi_params; fastcgi_param PATH_INFO </span><span style="color: #800080;">$path_info</span><span style="color: #000000;">; fastcgi_param SCRIPT_FILENAME </span><span style="color: #800080;">$document_root</span>/<span style="color: #800080;">$script</span><span style="color: #000000;">; fastcgi_param SCRIPT_NAME </span><span style="color: #800080;">$script</span><span style="color: #000000;">; } location </span>~ .*\.(gif|jpg|jpeg|png|bmp|<span style="color: #000000;">swf)$ { expires 30d; } location </span>~ .*\.(js|css)?<span style="color: #000000;">$ { expires 1h; } access_log </span>/alidata/<span style="color: #008080;">log</span>/nginx/access/<span style="color: #0000ff;">default</span>.<span style="color: #008080;">log</span><span style="color: #000000;">;}</span>default.conf
修改完配置,就需要重启Nginx,可以通过重启实例(即系统)或者通过命令
重启实例略
操作命令如下
nginx -<span style="color: #000000;">s reload 修改配置后重新加载生效关闭nginx:nginx </span>-s stop 快速停止nginx
阿里云服务器在这里重启会有问题(即:"/alidata/server/nginx/logs/nginx.pid" failed)
(参考地址为:http://www.dedecms8.com/os/linux/49999.html)
解决办法就是直接在ssh或者其他终端里执行:
/alidata/server<span style="color: #008000;">//</span><span style="color: #008000;">nginx/sbin/nginx -c /alidata/server//nginx/conf/nginx.conf</span>
然后切换到logs目录下,执行ll看到nginx.pid进程,即说明正常启动:
[[email protected] nginx]# cd logs/
[[email protected] 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了~~