iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
DevOps

Golang X DevOps系列 第 14

Day14 - Where is Nginx ? Apache ?

  • 分享至 

  • xImage
  •  
  • 在昨天寫完之後,我們可以看到最後輸出了一個結果的 json

  • 那如果有寫過網頁的各位會不會覺得少了甚麼?

  • 沒錯,我們沒有架設 Nginx 、 Apache 之類的網頁伺服器,因為它直接把原本 Nginx 在做的事情給搶走了,如果有看過 Nginx Log 的人應該會看過,下面這行在 nginx 裡面可能回變成 response 200 OK 的一小行 Log。

  • 而這個東西是透過 Go 的 http package 來實現的
  1. 他會先建立一個 Listen Socket
  2. Listen Socket 接收來自 Client 的請求後, 會透過 Client Socket 和 Client 進行 Connect
  3. 最後透過 Client Socket來處理 Client 的 request,還有一個 Handler 會去處理不同方法的Request,處理完之後在塞回去給 Client
  • 小小的圖 簡單描繪一下情景

https://ithelp.ithome.com.tw/upload/images/20220924/201513274XkNSJZtVu.png

小小的分工一下 昨天的 Code

  • 那假如我們把昨天寫的一小段code拿出來看看
  • 這其實就類似 js 的 response 和 laravel 當中 controller 在做的 return 了
		c.JSON(http.StatusOK, gin.H{
			"message": "hi, iron man",
		})
  • 到這裡,伺服器端跟後端都被 Go 一手包辦了

  • 就這樣幾行程式碼 我們完成了本來要透過 Nginx 或 Apache 來使用的流程


上一篇
高速用 Go 來啟動一個簡單的 web 吧
下一篇
Day15 - 把網頁架構變漂亮一點
系列文
Golang X DevOps30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言