《Dokcer的使用》(四) 實戰之Nginx+靜態網站部署
1、下載Centos的基礎映象
說明:基礎映象是所有自定義Dockerfile映象必須引用的,一般基於centos、ubuntu等作業系統映象
#docker pull下載centos的latest版本,也可指定版本docker pull centos:標籤名
docker pull centos
2、建立Dockerfile構建目錄及Dockerfile檔案
#1、建立Dockerfile構建環境目錄
mkdir static-website
#2、進入構建目錄
cd static-website
#3、建立Dockerfile檔案
touch Dockerfile
#4、編輯Dockerfile檔案(第3步可忽略,也可直接vi Dockerfile 會自動建立好檔案)
vi Dockerfile
3、配置Dockerfile檔案內容如下:
#1、引入centos基礎映象
FROM centos:latest
#2、說明作者資訊
MAINTAINER Luoy "luoy@163.com"
#3、設定環境變數,記錄上次修改日期(根據自身情況,此步驟可忽略)
ENV UPDATE_DATE 2020-11-09
#4、下載安裝nginx
RUN yum install -y nginx
#5、新增自定義的nginx配置檔案到映象中
ADD nginx/website.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/nginx.conf
#6、開放80埠
EXPOSE 80
4、Dockerfile配置完成後,接下來我們新增自定義的nginx配置檔案:
配置檔案分為website.conf與nginx.conf
1、website.conf:用於靜態網站相關配置。
2、nginx.conf:nginx的主配置檔案,這裡主要是將nginx的執行模式(daemon off)改為前臺執行,防止nginx以後臺程式模式執行,導致容器停止執行。
4-1、當前static-website目錄下建立nginx目錄
#1、在當前Dockerfile的構建目錄下建立nginx目錄
mkdir nginx
4-2、配置website.conf內容如下
server{
listen 0.0.0.0:80;
server_name localhost; #也可配置為域名
location /{
root /home/static;
index website/index.html;
}
location /website{
root /home/static;
index index.html;
}
}
4-3、配置nginx.conf內容如下(此配置只是為了演示效果,主要在原始的nginx.conf檔案裡新增了daemon off 配置,其他配置未做更改)
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
#主要新增此配置 daemon off;
daemon off;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
5、構建映象
#進入static-website目錄,執行docker build
docker build -t="luoy/website:v1" .
6、等待構建成功
7、檢視映象:docker images
8、啟動映象
#啟動映象
#-d 以守護程式模式執行該容器
#-v /home/static:/home/static 將宿主機靜態網址目錄對映到容器中,使容器可訪問到公共的靜態網址
#-p 80:80 將主機的80埠對映到容器的80埠
#luoy/website:v1 映象使用者名稱/倉庫名:標籤
#nginx 啟動nginx
docker run -d -v /home/static:/home/static -p 80:80 luoy/website:v1 nginx
9、檢視執行的容器:docker ps
10、開放宿主機的80埠,使外網環境訪問到靜態網址
10-1、騰訊雲伺服器開放埠步驟:安全組-》入站規則-》新增80埠
10-2、私有伺服器/本地伺服器開放埠步驟:
#開放80埠
firewall-cmd --add-port=80/tcp --permanent
#重啟防火牆
systemctl restart firewalld
11、到此所有配置完成,通過瀏覽器訪問nginx伺服器IP或域名即可訪問到靜態網站
相關文章
- 前端靜態站點部署方案前端
- Serverless實踐-靜態網站託管Server網站
- 05 . k8s實戰之部署PHP/JAVA網站K8SPHPJava網站
- 前後端,靜態網站和動態網站, 的理解後端網站
- 網站靜態化思想網站
- 網站偽靜態配置網站
- 網頁靜態化之freemaker的使用網頁
- 網站偽靜態和純靜態區別網站
- 通過Git簡易的部署靜態站點Git
- 使用Java和Maven(JBake)生成靜態網站 - optaplannerJavaMaven網站
- 日記13(靜態網站)網站
- 網站提速-偽靜態(3)網站
- 談談網站靜態化網站
- Django+nginx+靜態網站DjangoNginx網站
- 使用Service worker實現加速/離線訪問靜態blog網站網站
- 如何使用gohugo/hugo建立一個靜態網站?Go網站
- Nginx學習之從零搭建靜態資源網站Nginx網站
- 如何使用阿里雲 CDN 對部署在函式計算上的靜態網站進行快取阿里函式網站快取
- 30分鐘搭建你的靜態網站網站
- Python靜態網頁爬蟲專案實戰Python網頁爬蟲
- 實戰資料結構(6)_靜態連結串列的使用資料結構
- HTML+CSS編寫靜態網站-42 使用開發者工具HTMLCSS網站
- [譯] 用 Workers 讓靜態網站動態化網站
- 使用nginx部署網站Nginx網站
- 如何使用 Serverless Devs 部署靜態網站到函式計算Serverdev網站函式
- docker容器中佈置靜態網站Docker網站
- 如何高效管理網站靜態資源網站
- Django構建靜態網頁站點Django網頁
- PbootCMS網站IIS偽靜態規則boot網站
- PbootCMS網站apache偽靜態規則boot網站Apache
- PbootCMS網站nginx偽靜態規則boot網站Nginx
- Hugo -最好用的靜態網站生成器Go網站
- 用於靜態網站的最小Docker映象 - lipanski網站Docker
- Flutter Widget 靜態佈局實戰Flutter
- 跨網段通訊實戰(支援靜態路由表的家用路由)路由
- 基於 Svelte 的通用靜態網站開發模板網站
- 靜態網站託管服務平臺網站
- Google Drive新增靜態網站釋出功能Go網站