安裝 Nginx
更新系統套件
sudo apt-get update
安裝 Nginx
使用 Ubuntu 內建的 nginx 套件安裝,安裝完後預設的 nginx 設定檔是 /etc/nginx/sites-available/default
,網站目錄會在 /usr/share/nginx/html
sudo apt-get install nginx
設定虛擬主機 Virtualhost 設定
編輯新的 virtualhost 設定檔案
在這裡通常我會用主機網域名稱當作他的檔案名稱,如果我有一個網域是 kejyun.dev
,則我就會用 kejyun.dev
當作虛擬主機設定檔名稱
sudo vim /etc/nginx/sites-available/kejyun.dev
設定 Listen 的 port
設定主機要使用哪一個 port 傾聽 HTTP 請求
listen 80;
設定服務主機名稱
設定你申請的網域名稱,nginx 會以 HTTP Request 的網域不同導向不同的 Virtualhost,所以一定要設定,以下以 kejyun.dev
為例
server_name kejyun.dev;
設定網站根目錄路徑
我們將 Laravel 5 的程式放在使用者 kejyun
的家目錄下,而我們必須要將網站路徑指定到 Laravel 專案下的 public
目錄下才可以正常執行 Laravel 專案
root "/home/kejyun/laravel52/public";
設定 Log 路徑
設定當 Request 發生錯誤的時候,本 Virtualhost 要將 Log 存放在哪個檔案
error_log /var/log/nginx/kejyun.dev-error.log error;
完整虛擬主機設定
設定檔中有包括設定 php 檔案處理方式
,在這邊我們可以先設定,等之後安裝完 php 7 時就可以直接使用
server {
# 設定 Listen 的 port
listen 80;
# 設定服務主機名稱
server_name kejyun.dev;
# 設定網站根目錄路徑
root "/home/kejyun/laravel52/public";
# 設定讀取檔案優先順序
index index.html index.htm index.php;
# 設定網站編碼
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
# 設定 Log 路徑
error_log /var/log/nginx/kejyun.dev-error.log error;
sendfile off;
client_max_body_size 100m;
# 設定 php 檔案處理方式
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-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;
}
location ~ /\.ht {
deny all;
}
}
連結虛擬主機 Virtualhost 設定
Nginx 虛擬主機設定主要是讀取 /etc/nginx/sites-enabled/
目錄下的所有檔案,如果要讓此設定檔案啟用,則必須要將原設定檔目錄 /etc/nginx/sites-available/
的設定檔案使用軟連結連結過去
sudo ln -s /etc/nginx/sites-available/kejyun.dev /etc/nginx/sites-enabled/kejyun.dev
重新啟動 nginx
重新啟動 nginx 以讀取新的設定
sudo service nginx restart
這樣我們就完成了 Nginx Server 的設定了!!
參考資料
- How To Set Up nginx Virtual Hosts (Server Blocks) on Ubuntu 12.04 LTS
- php - How do I change the NGINX user? - Server Fault
KeJyun 最新新書推薦
|
|
---|---|
Laravel 是 PHP 的框架(Framework),提供了很多開發網站或 API 所需的工具及環境,經過簡單的設定就可以完成資料的處理及顯示,使開發者可以很優雅且快速的開發出各個不同的產品。本書適合有 PHP 基礎的人,但不知道要怎麼選擇框架,或者不用框架的人也能夠明白它的好處。 雖然 WordPress 也能夠架站,但如果有客製化需求,要開發各式各樣的網站,或提供 App 使用的 API,如此一來你只能選擇用框架,而 Laravel 是目前最受歡迎的。 本書將解說為什麼要使用框架,以及理解框架的優缺點後,要怎麼選擇框架,並用框架快速建構一個網站。除非必要,否則書中會避免專業技術用語,盡量使用最生活化易懂的例子及語氣,讓大家更容易進入 Laravel 的世界。 |
|
購書連結 |
|
購書連結 |