0%

Nginx的安裝與基本操作

Nginx的安裝與基本操作

system:
ubuntu 16.04

安裝nginx

1
2
sudo apt-get update
sudo apt-get install nginx

安裝完後可以查看nginx的狀況

1
sudo systemctl status nginx

如果狀態是active,那就表示nginx服務成功運行

設定reverse proxy

假設今天我們有一個www.test.com的網域,還有一個利用express的後端應用在Localhost、port 3000的位置,想要讓使用者連上www.test.com.tw的時候可以連接上架設的後端應用,就可以利用nginx做reverse proxy,讓外部連入指定網域的時候經由預設的port 80從新導向到本機端的port 3000上

首先進入/etc/nginx/conf.d裡面建立一個新的nginx.conf

1
2
cd /etc/nginx/conf.d  
vi nginx.conf

接著進行編輯

1
2
3
4
5
6
7
8
9
10
server {  
listen 80;
#監聽port 80
server_name www.test.com;
#透過www.test.com網域連接進來
location / {
proxy_pass 127.0.0.1:3000;
#把位置重新導向到127.0.0.1:3000的位置
}
}

編輯完後按ESC,再按:wq寫入檔案後離開

重新執行nginx服務

1
sudo systemctl reload nginx

架設靜態網頁

nginx也可以直接拿來架設靜態網頁,並且搭配不同網域進行轉址,假設今天的域名是www.blog.test.com

首先先建立一個資料夾

1
sudo mkdir /www

然後把你的靜態網站丟進去

接著一樣開啟/etc/nginx/conf.d裡面的nginx.conf

1
2
cd /etc/nginx/conf.d  
vi nginx.conf

將這個貼入設定檔中

1
2
3
4
5
6
7
8
9
10
11
12
server {
server_name www.blog.test.com;
#外部連進來的域名
root /www;
#靜態網頁檔案放置的路徑
index index.html;
#顯示的網頁
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt){
root /www;
}
#會訪問的靜態網頁
}

如果裡面已經有上面應用的設定了,則可以貼在下方像這樣

1
2
3
4
5
6
server{
...
}
server{
...
}

編輯完後按ESC,再按:wq寫入檔案後離開

重新執行nginx服務

1
sudo systemctl reload nginx

這樣就可以透過www.blog.test.com這個網域去訪問你放在/www中的靜態網頁了

How To Install Nginx on Ubuntu 16.04
ubuntu 上 Nginx 安裝與設定
設定 Let’s Encrypt HTTPS nginx certbot 自動更新 教學
拿Nginx 部署你的靜態網頁
俄羅斯不愧是戰鬥民族:nginx
Ubuntu 16.04安裝Nginx