環境 : Ubuntu 14.04
$ sudo apt-get update && apt-get upgrade
(解析 php)
(Laravel 4 需求套件)
(composer 需求套件)
$ sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt git
$ sudo vim /etc/nginx/sites-available/default
server {
listen 80 default_server;
# Laravel 網站目錄
root /home/kejyun/laravel/public/;
server_name laravel.app;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
# 傳送 php程式到 FastCGI server,透過 127.0.0.1:9000 解析
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
$ sudo vim /etc/php5/fpm/pool.d/www.conf
將 listen = /var/run/php5-fpm.sock
修改為 listen = 127.0.0.1:9000
若沒有此段設定,請自行加上即可
$ sudo service php5-fpm restart
$ sudo service nginx restart
透過剛剛建立的設定檔,我們可以建立其他的虛擬主機,Nginx 與 Apache 一樣都有 site-available
與 sites-enabled
資料夾可以設定虛擬主機,但是 Nginx 沒有像 Apache 一樣有 a2ensite
這樣的指令可以去啟動虛擬主機,只能自己建立虛擬主機設定檔的連結
$ cd /etc/nginx/sites-available
/etc/nginx/sites-available$ sudo cp default kejyunapp
將原本的網站跟目錄 root
及虛擬主機名稱 server_name
修改為自己想要的主機名稱
server {
listen 80 default_server;
# Laravel 網站目錄
root /home/kejyun/kejyunapp/public/;
server_name kejyun.app;
index index.php index.html index.htm;
}
在 /etc/hosts
自行加入自己設定的偽虛擬主機網址
$ sudo vim /etc/hosts
/etc/hosts
127.0.0.1 laravel.app
127.0.0.1 kejyun.app
/etc/nginx/sites-available$ cd ../sites-enabled
/etc/nginx/sites-enabled$ sudo ln -s /etc/nginx/sites-available/kejyunapp
/etc/apache2/sites-enabled$ sudo service nginx restart
設定完成後重新啟動 Nginx 即可以看到你的設定