前端利用Nginx部署

前端利用Nginx部署

说明:

​ 运行环境:JDK1.8、Nginx1.18.0

(1)安装JDK

​ 下载地址:https://www.oracle.com/java/technologies/downloads/#java8

​ 选择适合操作系统的包进行下载,Windows系统直接双击.exe文件进行安装、Linux系统加压相应的压缩包。

i.配置环境变量:

Windows系统:

​ 1) 新建用户变量:JAVA_HOME G:\Java\jdk1.8.0_131

在这里插入图片描述
​ 2) 新增系统变量 CLASSPATH .; %JAVA_HOME%\lib; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar (注意前面的.不能省略)

在这里插入图片描述
​ 3) 修改系统变量 Path G:\Java\jdk1.8.0_131\bin;G:\Java\jre1.8.0_131; 注意前后分号。

在这里插入图片描述
​ 4)CMD中输入javac和java -version,如图即安装成功。

在这里插入图片描述
Linux系统:

转载自:https://blog.csdn.net/Kiven_l/article/details/123324644
(2)启动后端服务架包

​ 该架包是spring-boot项目

​ jar包目录下进入cmd,执行

​ start javaw -jar -Dspring.profiles.active=dev -Dfile.encoding=UTF-8 **-1.0-SNAPSHOT.jar > deploy.log

(3)安装Nginx

​ 转载自:https://blog.csdn.net/javalingyu/article/details/124483646 (windows安装)

​ 转载自: https://blog.csdn.net/qq_41070393/article/details/108026079 (linux安装)

(4)运行前端包

​ 获取npm build构建后的文件dist目录下所有文件移动到nginx目录下html下

​ 配置nginx.conf文件:

worker_processes  1;

events {
    worker_connections  1024;
}


http {
	 #必须设置,不然会布局混乱
	 include       mime.types;
     default_type  application/octet-stream;
		 #压缩设置
	 #gzip  on;
     #开启gzip压缩
     gzip on;
     #http的协议版本
     gzip_http_version 1.0;
     #IE版本1-6不支持gzip压缩,关闭
     gzip_disable 'MSIE[1-6].';
     #需要压缩的文件格式 text/html默认会压缩,不用添加
     gzip_types text/css text/javascript application/javascript image/jpeg image/png image/gif;
     #设置压缩缓冲区大小,此处设置为4个8K内存作为压缩结果流缓存
     gzip_buffers 4 8k;
     #压缩文件最小大小
     gzip_min_length 1k;
     #压缩级别1-9
     gzip_comp_level 4;
     #给响应头加个vary,告知客户端能否缓存
     gzip_vary on;
     #反向代理时使用
     gzip_proxied off;

	upstream dist {
		server localhost:9071;
	}
    server {
		#端口不可重复
        listen       9072; 
        server_name  localhost;

        root   html;

        # 配置vue刷新报404
		location / {
                try_files $uri $uri/ /index.html; #检测文件存在性重定向到首页目录    防止404
                index  index.html;
        }
        location @router {
                rewrite ^.*$ /index.html break;
        }

		location /api {
			proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;
            proxy_set_header    X-Forwarded-Proto $scheme;
            #反向代理地址, 对应的是上面设置的upstream的名字。后面的/一定要有,不然接口会404
            proxy_pass http://dist/;

        }
    }
}

命令启动nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在部署前端项目时,可以使用Docker和Nginx来搭建环境。首先,需要编写一个Dockerfile文件,其中含了构建Nginx镜像的指令和配置文件的复制。可以使用FROM指令指定基础镜像为nginx:latest,然后使用COPY指令将前端项目的文件和Nginx的配置文件复制到指定的文件夹下。接下来,可以使用docker build命令来构建自定义的Nginx镜像。\[1\] 在部署过程中,可以使用docker run命令来创建并运行一个Nginx容器。可以使用-p参数来指定端口映射,将容器的80端口映射到物理机的80端口。可以使用-v参数来挂载对应的文件夹,将物理机上的配置文件、HTML文件和日志文件夹与容器中的对应文件夹进行关联。最后,使用-d参数来将容器以后台模式运行。\[2\] 如果需要将容器中的文件夹拷贝到物理机上的对应文件夹,可以使用docker cp命令。可以使用mkdir命令在物理机上创建对应的文件夹,然后使用docker cp命令将容器中的文件夹拷贝到物理机上的对应文件夹。\[3\] 综上所述,可以使用Docker和Nginx部署前端项目,通过编写Dockerfile文件和使用docker run命令来创建和运行Nginx容器,并使用docker cp命令将容器中的文件夹拷贝到物理机上的对应文件夹。 #### 引用[.reference_title] - *1* [Docker利用Nginx部署前端项目](https://blog.csdn.net/guo0208/article/details/127550442)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [使用nginx部署前端项目](https://blog.csdn.net/lianaozhe/article/details/128038718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值