docker下安裝使用nginx

CentOS 版本:centos-release-8.1-1.1911.0.9.el8.x86_64

Nginx 版本:nginx/1.14.1

Nginx 介紹

Nginx 是開源、高性能、高可靠的 Web 和反向代理服務器,而且支持熱部署,幾乎可以做到 7 * 24 小時不間斷運行,即使運行幾個月也不需要重新啓動,還能在不間斷服務的情況下對軟件版本進行熱更新。性能是 Nginx 最重要的考量,其佔用內存少、併發能力強、能支持高達 5w 個併發連接數,最重要的是,Nginx 是免費的並可以商業化,配置使用也比較簡單。

Nginx 的最重要的幾個使用場景:

  1. 靜態資源服務,通過本地文件系統提供服務;

  2. 反向代理服務,延伸出包括緩存、負載均衡等;

  3. API 服務,OpenResty ;

對於前端來說 Node.js 不陌生了,Nginx 和 Node.js 的很多理念類似,HTTP 服務器、事件驅動、異步非阻塞等,且 Nginx 的大部分功能使用 Node.js 也可以實現,但 Nginx 和 Node.js 並不衝突,都有自己擅長的領域。Nginx 擅長於底層服務器端資源的處理(靜態資源處理轉發、反向代理,負載均衡等),Node.js 更擅長上層具體業務邏輯的處理,兩者可以完美組合,共同助力前端開發。

下面我們着重學習一下 Nginx 的使用。

先下載centos

docker pull centos

我自己做好了鏡像 可以直接下載


運行

docker run -itd -p 8900:80 -p 8901:8080  --privileged --name centos centos /usr/sbin/init


加粗的內容要特別注意,不能遺忘

原因就是: 默認情況下,在第一步執行的是 /bin/bash,而因爲docker中的bug,無法使用systemctl 

所以我們使用了 /usr/sbin/init 同時 --privileged 這樣就能夠使用systemctl了,但覆蓋了默認的 /bin/bash


進入容器

docker exec -it f870fe771dc4 /bin/bash

下載nginx

yum install nginx

來安裝 Nginx,然後我們在命令行中 nginx -v 就可以看到具體的 Nginx 版本信息,也就安裝完畢了。

安裝之後開啓 Nginx,如果系統開啓了防火牆,那麼需要設置一下在防火牆中加入需要開放的端口,下面列舉幾個常用的防火牆操作(沒開啓的話不用管這個):

systemctl start firewalld  # 開啓防火牆
systemctl stop firewalld   # 關閉防火牆
systemctl status firewalld # 查看防火牆開啓狀態,顯示running則是正在運行
firewall-cmd --reload      # 重啓防火牆,永久打開端口需要reload一下

# 添加開啓端口,--permanent表示永久打開,不加是臨時打開重啓之後失效

firewall-cmd --permanent --zone=public --add-port=8888/tcp

# 查看防火牆,添加的端口也可以看到

firewall-cmd --list-all


然後設置 Nginx 的開機啓動:

systemctl enable nginx


啓動 Nginx (其他命令後面有詳細講解):

systemctl start nginx


然後訪問你的 IP,這時候就可以看到 Nginx 的歡迎頁面了~ Welcome to nginx! 👏

 

配置反向代理

反向代理是工作中最常用的服務器功能,經常被用來解決跨域問題,下面簡單介紹一下如何實現反向代理。

首先進入 Nginx 的主配置文件:

vim /etc/nginx/nginx.conf

端口轉換

80--->http://www.bilibili.com; 8080--->80

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章