docker安裝與配置nginx詳細過程
- 2021 年 8 月 29 日
- 筆記
- linux 有關部署
註:大鳥飛過,此方式只用於快速搭建使用
第一步 pull nginx
命令:docker pull nginx
第二步 啟動nginx
命令:docker run --name nginx -p 80:80 -d nginx
第三步 查看成果
1)命令查看是否啟動,命令:docker ps
2)網頁訪問,瀏覽器輸入IP地址回車,就可以看到 「Welcome to nginx!」
附加項:
原因:雖然咱們能正常啟動nginx,但配置得在容器中進行,這樣的話太麻煩了,所以把配置文件給映射出來,方便配置與管理
第一步 本地創建管理目錄
命令:
mkdir -p /data/nginx
mkdir -p /data/nginx/www
mkdir -p /data/nginx/conf
mkdir -p /data/nginx/logs
第二步 將容器中的相應文件copy到剛創建的管理目錄中
docker cp 67e:/etc/nginx/nginx.conf /data/nginx/
docker cp 67e:/etc/nginx/conf.d /data/nginx/conf/
docker cp 67e:/usr/share/nginx/html/ /data/nginx/www/
docker cp 67e:/var/log/nginx/ /data/nginx/logs/
註:docker cp 67e 中的 "67e" 為容器ID前綴,只要唯一就好了
第三步 停止並移除容器
命令:
停止容器:docker stop 67e
移除容器:docker rm 67e
第四步 再次啟動容器並作目錄掛載(也相當於共享)
命令:
docker run --name nginx -p 80:80
-v /data/nginx/nginx.conf:/etc/nginx/nginx.conf
-v /data/nginx/www/:/usr/share/nginx/html/
-v /data/nginx/logs/:/var/log/nginx/
-v /data/nginx/conf/:/etc/nginx/conf.d
--privileged=true -d nginx
註:為了好看所以做了換行,執行的時候還是需要改成一行,每行一個空格隔開就可以了
部署就完成了!!!
彩蛋(配置相關):
1、在location 中 echo “hello Nginx!” 訪問可以直接輸出文字
例:
location / {
echo "hello Nginx!"
}
2、location匹配規則:
1)最低級別匹配規則:
location / {
echo "hello Nginx!"
}
2)最高級別匹配規則:
location /user {
echo "hello user.hmtl"
}
3)其它級別匹配規則:
location ^~ /user {
echo "hello user.hmtl"
}
location ~^ /user {
echo "hello user.hmtl"
}
location ~ ^/[a-z] {
echo "hello user.hmtl"
}
location ~ ^/\a {
echo "hello user.hmtl"
}
3、反向代理細節:
location /user {
proxy_pass //ip;
}
location /order/ {
proxy_pass //ip/;
}
訪問結果:
//ip/user/xx...
//ip/xx...
4、負載均衡配置
upstream order {
server 192.168.5.18:8080 weight=1;
server 192.168.5.18:8081 weight=1;
}
server{
location /order/ {
proxy_pass //order/;
}
}
註:weight=1,配置的為權重,值越高權重越高