Thinkphp5项目在nginx服务器部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thinkphp5项目在nginx服务器部署相关的知识,希望对你有一定的参考价值。

参考技术A 1,切换到nginx的配置目录,找到nginx.conf文件

    cd   /usr/local/nginx/conf

    vim  nginx.conf

2,如果是单项目部署的话,只需要在nginx.conf文件里面加上以下

server

        listen 80;

        # 域名,本地测试可以使用127.0.0.1或localhost

        server_name www.zhangc.cn;

        # php项目根目录

        root /home/data-www/blog;

        location /

                # 定义首页索引文件的名称

                index index.php index.html index.htm;

                # 影藏入口文件

                if (-f $request_filename/index.html)

                            rewrite (.*) $1/index.html break;

                

                if (-f $request_filename/index.php)

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

                

                if (!-f $request_filename)

                            rewrite (.*) /index.php;

                

                try_files $uri $uri/ /index.php?$query_string;

        

        # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.

        # Fastcgi服务器和程序(PHP)沟通的协议

        .location ~ .*\.php$

                # 设置监听端口

                fastcgi_pass 127.0.0.1:9000;

                # 设置nginx的默认首页文件

                fastcgi_index index.php;

                # 设置脚本文件请求的路径

                fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;

                # 引入fastcgi的配置文件

                include fastcgi_params;

                fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                set $path_info $fastcgi_path_info;

                fastcgi_param PATH_INFO $path_info;

                try_files $fastcgi_script_name =404;

        



3,如果多项目部署,就需要配置vhost

第一步:编辑nginx.conf文件,在最后加上     include    vhost/*.conf;

第二步:进入vhost文件夹,创建    域名.conf    文件,如创建一个:quanma.meyat.com.conf

第三步:编辑quanma.meyat.com.conf文件,内容如下:

        server

        

                listen 80;

                server_name quanma.meyat.com;

                index index.html index.htm index.php default.html default.htm default.php;

                root /data/wwwroot/default/quanma/public/;

                #error_page 404 /404.html;

                location /

                        index index.html index.php;

                        if (-f $request_filename/index.html)

                                rewrite (.*) $1/index.html break;

                        

                        if (-f $request_filename/index.php)

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

                        

                        if (!-f $request_filename)

                                rewrite (.*) /index.php;

                        

                        try_files $uri $uri/ /index.php?$query_string;

                

                location ~ [^/]\.php(/|$)

                

                        # comment try_files $uri =404; to enable pathinfo

                        #try_files $uri =404;

                        fastcgi_pass 127.0.0.1:9000;

                        fastcgi_index index.php;

                        include fastcgi_params;

                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                        set $path_info $fastcgi_path_info;

                        fastcgi_param PATH_INFO $path_info;

                        try_files $fastcgi_script_name =404;

                        #include fastcgi.conf;

                        #include pathinfo.conf;

            

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

            

                    expires 30d;

            

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

            

                    expires 12h;

            

            # Disallow access to .ht, .svn, .bzr, .git, .hg, .cvs directories

            location ~ /\.(ht|svn|bzr|git|hg|cvs)

                    deny all;

            

            #access_log /date/nginx/bmp.com.conf/access.log main;

以上是关于Thinkphp5项目在nginx服务器部署的主要内容,如果未能解决你的问题,请参考以下文章

简单的前后端分离项目 部署到 centos7

Thinkphp5 项目部署至linux服务器报403错误

服务器上部署redis并且设置远程访问(Thinkphp5项目)

lnmp 部署tp5项目文件

基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题

宝塔服务器面板 部署 thinkphp5 坑