当前位置: 首页 > news >正文

从零开始Ubuntu24.04上Docker构建自动化部署(三)Docker安装Nginx

安装nginx

sudo docker pull nginx

启动nginx
宿主机创建目录
sudo mkdir -p /home/nginx/{conf,conf.d,html,logs}
先启动nginx
sudo docker run -d --name mynginx -p 80:80 nginx 
宿主机上拷贝docker上nginx服务上文件到本地目录
sudo docker cp mynginx:/etc/nginx/nginx.conf /home/nginx/conf/
sudo docker cp mynginx:/etc/nginx/conf.d /home/nginx/
sudo docker cp mynginx:/usr/share/nginx/html /home/nginx/
sudo docker cp mynginx:/var/log/nginx /home/nginx/logs

停止docker 上nignx
sudo docker stop mynginx
删除docker上nginx容器
sudo docker rm mynginx

重启启动nginx容器
sudo docker run -d --name mynginx -p 80:80  --restart=always  --volume /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf --volume /home/nginx/conf.d:/etc/nginx/conf.d --volume /home/nginx/html:/usr/share/nginx/html --volume /home/nginx/logs:/var/log/nginx --privileged=true nginx 

还有种方式,如果不创建目录,将原始文件拷贝过来,也可在启动后,手动创建文件

创建nginx.conf文件

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;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;keepalive_timeout  65;#gzip  on;include /etc/nginx/conf.d/*.conf; }

创建default.conf文件

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  /var/log/nginx/host.access.log  main;location / {root   /home/nginx/html;index  index.html index.htm;}}

修改完成后,重启nginx

当访问浏览器时,会找不到页面存在,不过不影响部署成功

如果实在想要,那就自己写个html页面放到/home/nginx/html下即可

相关文章:

  • Cannon-es.js之HingeConstraint铰链约束案例
  • leetcode163.缺失的区间,模拟
  • 【算法】堆排之LCR 159.库存管理 Ⅲ(easy)
  • Python Web 与量子计算
  • css的页面布局属性
  • 65.【C语言】联合体
  • Databend 实现高效实时查询:深入解读 Dictionary 功能
  • 对于基础汇编的趣味认识
  • 综合练习 学习案例
  • 【AIGC】ChatGPT提示词助力自媒体内容创作升级
  • 笔记本电脑如何改ip地址:操作指南与注意事项
  • 深度解析:Python蓝桥杯青少组精英赛道与高端题型概览
  • 程序设计语言
  • JavaScript模块化-CommonJS规范和ESM规范
  • 论文阅读(十一):CBAM: Convolutional Block Attention Module
  • 自己简单写的 事件订阅机制
  • ES10 特性的完整指南
  • JS变量作用域
  • JS学习笔记——闭包
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • React的组件模式
  • swift基础之_对象 实例方法 对象方法。
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 包装类对象
  • 从零开始的无人驾驶 1
  • 大快搜索数据爬虫技术实例安装教学篇
  • 深度学习在携程攻略社区的应用
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 如何用纯 CSS 创作一个货车 loader
  • ​iOS实时查看App运行日志
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # Redis 入门到精通(九)-- 主从复制(1)
  • $().each和$.each的区别
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (Java入门)抽象类,接口,内部类
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (计算机网络)物理层
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)程序员技术练级攻略
  • (转)项目管理杂谈-我所期望的新人
  • ./和../以及/和~之间的区别
  • .gitignore文件---让git自动忽略指定文件
  • .net 获取某一天 在当月是 第几周 函数
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .Net各种迷惑命名解释
  • .NET开源、简单、实用的数据库文档生成工具
  • ?php echo ?,?php echo Hello world!;?
  • @Builder用法
  • @EnableConfigurationProperties注解使用
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)