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

从零开始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下即可


http://www.kler.cn/news/322724.html

相关文章:

  • centos8 升级openssh-9.8p1
  • 《C++开源贡献:提升职业竞争力的新途径》
  • 搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(四)-搜索
  • Spark Job 对象 详解
  • ‌[AI问答] Auto-sklearn‌ 与 scikit-learn 区别
  • 【SpringCloud】环境和工程搭建
  • 数据分析学习之学习路线
  • AI 将会促生哪些新的职业?
  • AT89C51 利用SBIT寻址,并且在内存中实现伪动态密码的混淆
  • gRPC协议简介
  • C++的动态数组
  • 统信服务器操作系统【targetcli部署】
  • HarmonyOS应用开发(组件库)--组件模块化开发、工具包、设计模式(持续更新)
  • 【hadoop安装】
  • 微服务的优点及在云原生时代的合理落地方式
  • 光伏发电生活废水处理设备产地货源
  • 828华为云征文|华为云Flexus云服务器X实例之openEuler系统下搭建MaxKB开源知识库问答系统
  • 中国的互联网电商,终于还是“连上了”
  • 云手机可以挂在服务器使用吗?
  • 基于大数据技术的足球数据分析与可视化系统
  • 2024.9.27
  • 解决setMouseTracking(true)后还是无法触发mouseMoveEvent的问题
  • 神经网络(一):神经网络入门
  • vue echarts tooltip动态绑定模板,并且处理vue事件绑定
  • 每日论文6—16ISCAS一种新型低电流失配和变化电流转向电荷泵
  • 小学生管理系统项目
  • 前后端数据加密与解密
  • Win11家庭版升级专业版
  • 语言的输入
  • Thinkphp5x远程命令执行 靶场攻略