Docker,安装部署Nginx

Docker,安装部署Nginx

不懂有些操作的可以看我的博客docker系列。废话就不多说了,比较简单。
按照我的步骤来,出了问题,加我 Q 770149701喷我。

拉取镜像

[root@localhost home] docker pull nginx

在目录创建文件目录

说明1:目录你自己在你想创建的地方创建,我这里选着的目录是 /home/docker/nginx
说明2:创建 conf 配置文件目录, 创建 nginx.conf 配置文件(默认没有该文件),默认的配置文件 在 容器 /conf.d/default.conf,你也可以不用创建 nginx.conf , 直接用 这个文件,记得 把下个步骤的 文件进行 绑定映射

[root@localhost home] mkdir -p nginx
[root@localhost home] cd nginx
[root@localhost nginx] mkdir conf
[root@localhost nginx] cd conf
[root@localhost conf ] touch nginx.conf
[root@localhost conf ] touch mime.types
[root@localhost conf ] cd ..
[root@localhost nginx] mkdir log
[root@localhost nginx] mkdir html

运行容器

-v /home/docker/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf

上面这个映射,取决 于 你 是要用自己创建的配置文件,还是nginx 自带的,用自带的,就把下面的

-v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf

二选一

这里的命令就不多做解释了,不懂的可以看看我前面的docker 系列博客,懒,不想多打字

[root@localhost nginx] docker run -d -p 9002:9002 -v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /home/docker/nginx/log:/var/log/nginx -v /home/docker/nginx/html:/usr/share/nginx/html --name nginx nginx:latest

这一步取决于你,用自带配置文件,还是你自己创建的。进入 容器 删除 默认配置文件,它回去读这个配置文件,这里删掉,nginx会去读 nginx.conf 文件

 [root@localhost nginx] docker exec -it  [容器id]  /bin/bash
 #打开容器目录  
  cd /etc/nginx/conf.d/
  rm -rf default.conf

配置文件说明

#user  nobody;
worker_processes 1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events {
  worker_connections 1024;
}


http {
  include 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  logs/access.log  main;
  sendfile on;
  #tcp_nopush     on;

  #keepalive_timeout  0;
  keepalive_timeout 65;

  gzip on;
  
  server {
    #监听端口
    listen 9002 ;
    server_name localhost;
    gzip on;
    gzip_buffers 32 4K;
    client_max_body_size 100m; 
    gzip_comp_level 6;
    gzip_min_length 100;
    gzip_types application/javascript text/css text/xml application/force-download application/octet-stream;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;
    
    location / {
    #容器内静态资源地址
	root /usr/share/nginx/html/;
	index  index.html index.htm;
	try_files  $uri $uri/ /index.html;
	 gzip_static on;
	#允许跨域请求的域,*代表所有
	add_header 'Access-Control-Allow-Origin' *;
	add_header Access-Control-Allow-Methods 'GET, POST, PUT, OPTIONS';
	add_header Access-Control-Expose-Headers 'Accept-Ranges, Content-Encoding, Content-Length, Content-Range';
	if ($request_method = 'OPTIONS') {
		return 204;
        }
    }
	
	
	location /map/ {
	    rewrite ^/b/(.*)$ /$1 break;
	    proxy_pass    http://47.108.142.190:8070/hualianxinyin-map/;
	    proxy_connect_timeout            60s;
	    proxy_send_timeout		 60s;
	    proxy_read_timeout 		 60s;
	}
	
    location /prod-api/ {
        #后台服务地址
		proxy_pass http://127.0.0.1:8080/;
		proxy_connect_timeout   600s; 
		proxy_send_timeout      600s; 
		proxy_read_timeout      600s; 
		proxy_buffer_size       16k; 
		proxy_buffers           4 64k; 
		proxy_busy_buffers_size 128k; 
		proxy_temp_file_write_size 128k;
		proxy_max_temp_file_size 1024m;
		client_max_body_size 100m; 
		index index.jsp index.html index.htm;
    }
  }


}


猜你喜欢

转载自blog.csdn.net/Crazy_Cw/article/details/126337857