• 华为云HECS云服务器docker环境下安装nginx


    前提:有一台华为云服务器

    华为云HECS云服务器,安装docker环境,查看如下文章。

    华为云HECS安装docker-CSDN博客

    一、拉取镜像

    下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )

    docker pull nginx
    

    查看镜像

    docker images

     

    二、宿主机创建挂载目录

    执行如下命令: 

    1. mkdir -p /usr/local/nginx/conf
    2. mkdir -p /usr/local/nginx/log
    3. mkdir -p /usr/local/nginx/html

    mkdir的-p参数,有文件夹则略过,没有则创建。 

    三、 生成容器

    执行命令:

    docker run -p 80:80 --name nginx -d nginx

    四、 复制文件

    1、确认文件地址

    1.1进入容器内部

    docker exec -it nginx /bin/bash 

    1.2找到nginx.conf所在的地址(找到相关配置文件)

    find / -name nginx.conf

     这里以/etc/nginx/nginx.conf为例,其他类似

    nginx.conf文件内容(示例):

    1. #使用XXXt用户访问
    2. user nginx;
    3. #user root;
    4. # worker进程的数量,设置为auto,将获取CPU的核心数
    5. worker_processes auto;
    6. error_log /var/log/nginx/error.log notice;
    7. # 配置主进程pid存放位置
    8. pid /var/run/nginx.pid;
    9. events {
    10. # 设置每个工作进程同时连接的最大数量
    11. worker_connections 1024;
    12. }
    13. # 提供配置文件上下文,设置http服务器
    14. http {
    15. # 设置包含的mime类型
    16. include /etc/nginx/mime.types;
    17. # 定义响应的默认mime类型
    18. default_type application/octet-stream;
    19. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    20. '$status $body_bytes_sent "$http_referer" '
    21. '"$http_user_agent" "$http_x_forwarded_for"';
    22. access_log /var/log/nginx/access.log main;
    23. # 高效文件传输模式
    24. sendfile on;
    25. #tcp_nopush on;
    26. # 长连接超时时间,在此期间客户端连接将保持打开状态,如果连接一直活跃,超时时间将自动刷新。如果设置为0,即禁用长连接
    27. keepalive_timeout 65;
    28. #gzip on;
    29. include /etc/nginx/conf.d/*.conf;
    30. # 虚拟服务器配置
    31. server {
    32. listen 80;
    33. server_name localhost;
    34. location / {
    35. root /usr/share/nginx/html;
    36. index index.html index.htm;
    37. }
    38. }
    39. }

    1.3退出容器

    exit

    2、复制文件

    //将容器文件复制到宿主机

    1. docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf
    2. docker cp nginx:/etc/nginx/conf.d/ /usr/local/nginx/conf
    3. docker cp nginx:/usr/share/nginx/html/ /usr/local/nginx
    4. docker cp nginx:/var/log/nginx /usr/local/nginx/log

    五、关闭容器

    docker stop nginx

    六、删除容器

    docker rm nginx

    七、 以挂载的方式启动容器

    命令如下:

    1. docker run -p 80:80 \
    2. --name nginx \
    3. -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
    4. -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
    5. -v /usr/local/nginx/log:/var/log/nginx \
    6. -v /usr/local/nginx/html:/usr/share/nginx/html \
    7. --restart=always \
    8. --privileged=true \
    9. -d nginx

    参数解析:

    【-p 80:80】 将宿主机80端口与容器内80端口进行映射;
    【–name】 给容器命名;
    【-v】 将宿主机目录或文件与容器内目录或文件进行挂载映射;

    【 --restart=always】 开机启动,失败也会一直重启;
    【--privileged=true】获取宿主机root权限。
    【-d】表示后台启动;

    八、HECS安全组开端口

    九、访问nginx

     有nginx标识,证明访问成功。

     

  • 相关阅读:
    Hi3516开发笔记(十):Qt从VPSS中获取通道图像数据存储为jpg文件
    NumPy 数组复制与视图详解
    【VUE复习·7】样式绑定:静态样式绑定、动态样式绑定(明亮模式 / 暗黑模式 切换的效果如何实现)
    Stable Diffusion WebUI挂VPN不能跑图解决办法(Windows)
    Linux | 从虚拟地址到物理地址
    随手记录:自家小米路由器配置了哪些东东以备后用
    linux系统 删除文件命令
    数据结构与算法笔记
    excel图表上x轴y轴怎么设置的教程介绍
    餐饮大单品「真香」,却没有穿透周期的能力
  • 原文地址:https://blog.csdn.net/supersolon/article/details/133350370