話說這是第幾次搬家來著?XD
之前本站是放在 AWS EC2 最小台的 t1.micro 機器上(目前最小台是 t2.nano),AWS 一年免費試用結束之後把文章都轉到 Logdown 上擺著長灰塵好一陣子,想想這年頭 VPS 很便宜,有持續在摸也比較不會忘記,就開了一台 Linode 2048 把之前的資料都轉過來。
Linode 2048 比以前用的 t1.micro 或現在的 t2.nano 要大台多了,Linode 最近在日本東京開了新的點,從台灣連過去延遲可以壓在 100ms 以內。
作業系統是 Ubuntu 16.04 LTS x64。
安裝 Nginx + PHP 7.0 + MySQL server:
sudo apt-get install nginx mysql-server php7.0-fpm php7.0-mysql php-apcu
Nginx 設定 PHP 7.0:
# /etc/nginx/sites-available/default
...
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
...
Nginx 設定 Let’s Encrypt 憑證和 HTTP/2 加密連線:
Let’s Encrypt 使用說明 (非官方)
Guide to Deploying Diffie-Hellman for TLS
# /etc/nginx/sites-available/default
...
#listen 80 default_server;
#listen [::]:80 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
ssl_dhparam /path/to/dhparams.pem;
ssl_certificate /etc/dehydrated/certs/yourdomainname/fullchain.pem;
ssl_certificate_key /etc/dehydrated/certs/yourdomainname/privkey.pem;
...
Nginx 設定導向加密連線:
# /etc/nginx/sites-available/default
...
server {
listen 80 default_server;
listen [::]:80 default_server;
rewrite ^(.*) https://$host$1 permanent;
}
...
Nginx 設定將 http://afuliu.com / http://www.afuliu.com 導向 https://blog.afuliu.com:
# /etc/nginx/sites-available/default
...
server {
listen 80;
server_name www.afuliu.com;
rewrite ^/(.*) https://blog.afuliu.com/$1 permanent;
}
server {
listen 80;
server_name afuliu.com;
rewrite ^/(.*) https://blog.afuliu.com/$1 permanent;
}
...
其他參考資料:
Getting Started with Linode
以上,感謝收看。