docker nginx服务如何部署

蜗牛vps 互联网技术资讯 2021-11-30 354 0

这篇文章主要讲解了“docker nginx服务如何部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“docker nginx服务如何部署”吧!

1.下载nginx
docker pull nginx 

2.启动nginx

docker run -d -m 2g -p 8888:80 --name lyjng nginx

3.配置映射

创建目录:  mkdir -p  /root/lyjnginx/nginx/www /root/lyjnginx/nginx/logs /root/lyjnginx/nginx/conf

其中:

      www: 目录将映射为 nginx 容器配置的虚拟目录。
      logs: 目录将映射为 nginx 容器的日志目录。
      conf: 目录里的配置文件将映射为 nginx 容器的配置文件。

4.复制docker容器中的文件

[root@ambari-01 lyjnginx]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
cf7da4042664   nginx     "/docker-entrypoint.…"   20 minutes ago   Up 20 minutes   0.0.0.0:8888->80/tcp   lyjng
[root@ambari-01 lyjnginx]# docker cp cf7da4042664:/etc/nginx/nginx.conf /root/lyjnginx/nginx/conf/

5.部署命令

docker run -m 2g --rm -d -p 8889:80 --name nginx-test-web   -v /root/lyjnginx/nginx/www:/usr/share/nginx/html   -v /root/lyjnginx/nginx/conf/nginx.conf:/etc/nginx/nginx.conf   -v /root/lyjnginx/nginx/logs:/var/log/nginx   nginx

命令说明:

       -m : 设置容器占用内存
      --rm:容器终止运行后,自动删除容器文件。
      -p 8889:80: 将容器的 80 端口映射到主机的8889端口.
      --name nginx-test-web:将容器命名为 nginx-test-web 
      -v /root/lyjnginx/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
      -v /root/lyjnginx/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
      -v /root/lyjnginx/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

6.添加网页 将vue打包的文件复制到/root/lyjnginx/nginx/www/ 这个目录下就能访问了

[root@ambari-01 conf]# cd /root/lyjnginx/nginx/www/
[root@ambari-01 www]# vim index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Nginx test !!!</title>
</head>
<body>
    <h2>我的第一个标题</h2>
    <p>我的第一个段落。</p>
</body>
</html>

7.问题nginx代理转发一致报404不生效问题

vim  /root/lyjnginx/nginx/conf/nginx.conf 这个配置文件注释掉# include /etc/nginx/conf.d/*.conf;

# 这行必须注释否则/etc/nginx/conf.d/*.conf 会覆盖下面server{}中的配置
   # include /etc/nginx/conf.d/*.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;
   # 这行必须注释否则/etc/nginx/conf.d/*.conf 会覆盖下面server{}中的配置
   # include /etc/nginx/conf.d/*.conf;
    #lyj add
     server {
          listen       80;
          server_name  localhost;
  
          location / {
             # root   /root/lyjnginx/bigdata_product;
	      root    /usr/share/nginx/html;
              index  index.html index.htm;
          }
          location /prod-api/ {
               proxy_pass http://192.168.3.175:8002/;
          }
          location /prod-api-extract/ {
                 proxy_pass http://192.168.1.134:8003/;
          }
           location /prod-api-dataxJ/ {
                proxy_pass http://192.168.3.173:8008/;
          }
           location /prod-api-datax/ {
                 proxy_pass http://192.168.1.134:9527/;
          }
       }
    #lyj add

}

感谢各位的阅读,以上就是“docker nginx服务如何部署”的内容了,经过本文的学习后,相信大家对docker nginx服务如何部署这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是蜗牛博客,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram