前言
第一次碰到 nginx 是在使用 laradock 時,一個輕量設定又簡單的好東西
查了一下發現 nginx 在大流量的服務上比起 apache 可以更有效率的處理 request
好 nginx 不用嗎
環境
- OS : Debian 10
- VMware Workstation 15 Player
安裝 nginx
安裝 nginx
1
apt-get install -y nginx
確認是否成功啟用
1
systemctl status nginx
前往本地IP位置
確認當前VM IP
1
ip addr
在瀏覽器打上 http://{你的VM IP}
看到此畫面就表示 nginx 成功啟動
設定 nginx 以 larveal 為例
- 先安裝 laravel 可以參考這篇
- 把 laravel 專案放到
/var/www/html
中 - 到
/etc/nginx/site-available
中- 可以看到
default
檔案,這就是預設的設定檔
- 可以看到
- 打開 default 可以看到 server 的設定,先講常用的設定
- root 是用來設定指向到的專案路徑
- index 是指定入口檔案有哪些
- server_name 可以設定特定 host 指向到當前設定的路徑
- 複製一個新的設定檔
cp default laravel
- 編輯設定檔
- 先把 server 中的 default_server 移除
- 把 root 指向到自己專案底下的 public
- 調整 server_name 為自己的 host name
- fastcgi_pass 指向到安裝的 php 版本
- 最後設定檔如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html/laravel/public;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name leo-laravel.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
}
- 如果有調整設定檔,記得要要 reload 設定才會生效
sudo nginx -s reload
- 這時打開瀏覽器輸入
http://leo-laravel.com/api/hello
- 在Ubuntu 16.04 上架設Nginx + PHP 7
- Fixing HTTP ERROR 500 (nginx) for every Laravel route