Skip to content

Instantly share code, notes, and snippets.

@angusty
Last active July 28, 2018 06:51
Show Gist options
  • Select an option

  • Save angusty/b65f03df5444a1de7b1b to your computer and use it in GitHub Desktop.

Select an option

Save angusty/b65f03df5444a1de7b1b to your computer and use it in GitHub Desktop.

Revisions

  1. yboker revised this gist Oct 30, 2015. No changes.
  2. yboker revised this gist Oct 30, 2015. No changes.
  3. yboker revised this gist Oct 30, 2015. No changes.
  4. yboker revised this gist Oct 30, 2015. No changes.
  5. yboker revised this gist Oct 30, 2015. No changes.
  6. yboker created this gist Oct 30, 2015.
    66 changes: 66 additions & 0 deletions serve-thinkphp.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,66 @@
    #!/usr/bin/env bash

    mkdir /etc/nginx/ssl 2>/dev/null
    openssl genrsa -out "/etc/nginx/ssl/$1.key" 1024 2>/dev/null
    openssl req -new -key /etc/nginx/ssl/$1.key -out /etc/nginx/ssl/$1.csr -subj "/CN=$1/O=Vagrant/C=UK" 2>/dev/null
    openssl x509 -req -days 365 -in /etc/nginx/ssl/$1.csr -signkey /etc/nginx/ssl/$1.key -out /etc/nginx/ssl/$1.crt 2>/dev/null

    block="server {
    listen ${3:-80};
    listen ${4:-443} ssl;
    server_name $1;
    root \"$2\";
    index index.html index.htm index.php;
    charset utf-8;
    location / {
    try_files \$uri \$uri/ /index.php;
    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;
    expires 10d;
    }
    location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-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"
    service nginx restart
    service php5-fpm restart