• 华为云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标识,证明访问成功。

     

  • 相关阅读:
    bash条件语句练习
    用C语言实现状态机设计模式
    好心情平台:抑郁症vs精分,如何治疗更有效?
    python找出文件夹里文件名以特定字符结尾的文件并移动到另一个目录
    LNMP配置(Linux、Nginx、MySQL、PHP)
    您的计算机已被Mallox勒索病毒感染?恢复您的数据的方法在这里!
    C语言-函数
    【Win】怎么下载m3u8视频\怎么通过F12开发人员工具获取视频地址\怎么下载完整的.ts格式视频
    vcruntime140_1.dll修复方法分享,教你安全靠谱的修复手段
    【WebLogic】OPatch Patches: No patches installed
  • 原文地址:https://blog.csdn.net/supersolon/article/details/133350370