0
点赞
收藏
分享

微信扫一扫

数学建模--层次分析法~~深入解读

认真的老去 2024-07-24 阅读 25
nginx

一、Docker安装配置nginx

1.拉取镜像
docker pull nginx
2.创建挂载目录

创建挂载目录

# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

需要授权文件夹,防止nginx操作文件夹权限不足

chmod 777 /home/nginx/conf
chmod 777 /home/nginx/log
chmod 777 /home/nginx/html
3.挂载目录

创建初始化容器

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

复制容器配置文件到宿主机

docker cp nginx:/etc/nginx /home/nginx/conf

删除容器

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
 
# 删除正在运行的nginx容器
docker rm -f nginx
4.启动容器
docker run \
-p 80:80 \
--name nginx \
-v /home/nginx/conf:/etc/nginx \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx
5.修改配置文件

nginx.conf内容如下,主要是对各种配置进行映射,其中的目录是Docker容器中的目录,可以根据挂在目录映射进行相应的修改。

基础的操作可以在conf.d目录下的conf文件配置即可。
配置修改后,需要重启nginx容器才能使配置生效。

user  root;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
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;  

        location / {
        	# 路径匹配之后,哪个目录下去匹配相应的网页,html是相对路径
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        
        location /api/ {
            #反向代理
            proxy_pass http://loaclhost:8088/api/;
        }
  	}

二、Nginx反向代理失败出现了跨域问题

到这里明白是什么问题了,我在前端的访问端口是后端项目的端口,而非nginx的监听端口

三、Nginx部署vue项目后,刷新报404

server {
    listen    8020;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        #需要指向下面的@router否则会出现vue的路由在Nginx中刷新出现404
        try_files $uri $uri/ @router;
        index  index.html index.htm;
    }
 
    location /api/ {
        proxy_pass http://localhost/api/;
    }

    #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
    #因此需要rewrite到index.html中,然后交给路由再处理请求资源
    location @router {
        rewrite ^.*$ /index.html last;
    }

}

四、给Docker容器添加映射端口

1.查看容器的端口映射情况
docker port 容器id

image.png

2.查询容器在本机的位置
docker inspect 容器

image.png

进入容器目录需要修改2个文件

  • config.v2.json
  • hostconfig.json
3.关闭Docker进程

关闭Docker进程

service docker stop
#或
systemctl stop docker

查看Docker进程是否还在运行

ps -aux|grep docker

【注】
此时不能运行Docker的命令,不然程序会自动启动

4.修改配置文件
1)修改config.v2.json

找到Config–>ExposedPorts,里面添加想要的端口号
image.png

2)修改配置hostconfig.json

找到PortBindings参数内添加信息
image.png

然后启动Docker即可

举报

相关推荐

0 条评论