在 Homestead 中搭建 ThinkPHP 專案記錄

拼湊出整個銀河發表於2020-05-06

新增serve配置

Homesteadscript資料夾中新增一個serve-tp.sh檔案。內容如下:

  #!/usr/bin/env bash
    declare -A params=$6     # Create an associative array
    paramsTXT=""
    if [ -n "$6" ]; then
       for element in "${!params[@]}"
       do
          paramsTXT="${paramsTXT}
          fastcgi_param ${element} ${params[$element]};"
       done
    fi

    block="server {
        listen ${3:-80};
        listen ${4:-443} ssl http2;
        server_name .$1;
        root \"$2\";

        index index.html index.htm index.php;

        charset utf-8;

        location / {
            #try_files \$uri \$uri/ /index.php?\$query_string;
            if (!-e \$request_filename) {
               rewrite  ^(.*)$  /index.php?s=/\$1  last;
               #break;
            }
        }

        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }

        access_log off;
        error_log  /var/log/nginx/$1-error.log error;

        sendfile off;

        client_max_body_size 100m;


        location ~* ^(/images|/Static).+.(jpg|jpeg|css|gif|png|ico) {
            access_log              off;
        }

        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;
            fastcgi_intercept_errors off;
            fastcgi_buffer_size 16k;
            fastcgi_buffers 4 16k;
            fastcgi_connect_timeout 300;
            fastcgi_send_timeout 300;
            fastcgi_read_timeout 300;
            include fastcgi_params;
        }

        location ~ /\.ht {
            deny all;
        }

        ssl_certificate     /etc/nginx/ssl/$1.crt;
        ssl_certificate_key /etc/nginx/ssl/$1.key;
    }
    "

    echo "$block" > "/etc/nginx/sites-available/$1"
    ln -fs "/etc/nginx/sites-available/$1" "/etc/nginx/sites-enabled/$1"

Homestead.yaml中,

  - map: 你的域名
      to: /home/vagrant/code/你的專案/public
      type: tp

修改之後需要重啟vagrant才能生效

轉載:https://www.cnblogs.com/xkfeng/p/10734982.html

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章