如何在lnmp上部署Thinkphp

 我来答
百度网友bd8aff7
2017-10-19 · TA获得超过314个赞
知道小有建树答主
回答量:551
采纳率:89%
帮助的人:285万
展开全部
ThinkPHP的四种URL模式:0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式)

nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。

系统环境:

系统:CentOS-6.4-x86_64

web服务器:nginx1.2.7

PHP版本:PHP5.3.17

数据库版本:MySQL5.5.28

一、安装LNMP1.0一键安装包:

http://lnmp.org/install.html

按照以上版本安装环境

二、修改配置文件

1.修改php配置文件php.ini,将其中cgi.fix_pathinfo = 0,值改为1

重启php-fpm

2.ssh里执行:

cat > /usr/local/nginx/conf/pathinfo.conf << 'EOF'
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "(.+?\.php)(/.*)") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;

EOF

再将虚拟主机配置文件里的location ~ .*\.(php|php5)?$ 替换为:location ~ .*\.php
再在include fcgi.conf; 下面添加一行include pathinfo.conf;
重启nginx

完整的虚拟主机配置文件如下:

server
{
listen 80;
server_name www.lnmp.org;
index index.html index.htm index.php;
root /home/wwwroot/lnmp;

location ~ .*\.php
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
include pathinfo.conf;
}

location /status {
stub_status on;
access_log off;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 12h;
}

access_log /home/wwwlogs/lnmp.log lnmp;

}

将ThinkPHP的URL模式设置成PATHINFO。

ThinkPHP就可以在nginx中运行了。
只为你66守候
2017-10-19 · TA获得超过388个赞
知道小有建树答主
回答量:1593
采纳率:31%
帮助的人:297万
展开全部
我想题主对 nginx 应该仅仅是了解并不精通。很有可能 nginx 下只发布这一个应用,那就不提虚拟主机的事了。

这种情况下如果 nginx 是采用默认配置编译安装的,只需要把代码拷贝到

/usr/local/nginx/html
目录下即可。
操作关键就是把项目文件放置到 nginx 配置文件中 server 节点 root参数的路径下。希望能帮到你,我还在后盾网上课呢,加油吧皮卡丘٩(๑òωó๑)۶
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式