[从入门到入土(部署篇)]三,前端项目部署(nginx)

[从入门到入土(后端篇)]三,前端项目部署(nginx)

当本地项目没有问题后,我们需要将其部署到服务器上,让别人可以进行访问。

我所知道的方法有:

1.nginx部署
2.后端部署
3.oss部署

后端部署就比较简单,前端项目打包后直接给后端人员就行。所以我将写写怎么利用nginx部署和oss部署

这篇文章将讲解如何部署前端项目到nignx

一. 前端项目打包

执行命令行

npm run build
  • 如果需要打包后,去掉项目中的console,需要在vite.config.js中添加如下代码
export default {
  plugins: [vue()],
  //打包设置
  build:{
    terserOptions: {
      compress: {
        // 用于删除生产环境中的console
        drop_console: true,}
    }
  }
}

运行完后,在项目目录有个dist文件夹,里面的内容就是打包后的文件。

2.利用xftp将打包后的文件放到服务器中

打开xshell 进入到自己的服务器,然后点击xftp传输

1.png

  • 2.1 在服务器上的nginx/html 目录下新建demo(项目名称)文件夹
  • 2.2 服务器(右侧)进入项目文件夹中,本地(左侧)选择assets文件夹 和 index.html 右键传输,

2.png

这个时候前端项目打包后的文件就存在于nginx中,接下来就需要修改nginx的配置文件,将80端口的内容指向这个文件夹中的index.html

3.修改nginx配置文件

配置文件位置:
3.png

修改配置文件有两种方法:

  • 1.直接利用vim在服务器修改
  • 2.直接在本地修改后,替换服务器上的内容

两种方法都可以,就看大家的选择了。

贴一下我的配置文件内容(没有使用https协议)


#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;
    server {
        listen       80;  #开启80端口
        server_name  awhtml.cn www.awhtml.cn; #域名信息
	rewrite ^(.*)$ https://$server_name$1 permanent;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
           root   html/awweb; #前端地址
 	   try_files $uri $uri/ @router;		
           index  index.html index.htm;
        }
        #跨域设置
	location /api{
	   rewrite ^.+api/?(.*)$ /$1 break;
           include uwsgi_params;
           proxy_pass http://127.0.0.1:3001; #后端地址
 	   proxy_set_header X-Real-Ip $remote_addr;
	   proxy_redirect off;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header Host $host;
           proxy_set_header X-Real-Ip $remote_addr;
          proxy_set_header X-Ngnix-Proxy true; 
	}
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        #error_page   500 502 503 504  /50x.html;
      
	#单界面应用,路由设置 
	location @router {
	   rewrite ^.*$ /index.html last;
	}
#	location = /50x.html {
#           root   html;
#        }
    }
}

简单的http就是这样,后面使用(https协议时,会再次修改)

需要注意的就是,跨域设置还有单页面应用的路由设置。如果有不懂得可以加群(433477676)或者自行百度,都不难

3.重启nginx

在nginx目录下执行:

sbin/nginx -s reload

如果出现错误,根据提示修改~

如果不出现任何东西就代表重启成功

快去浏览器上输入自己服务器IP或者域名试试吧~

下一章就利用oss来挂载前端项目

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Docker中部署Nginx前端项目,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker。如果没有安装,请根据您的操作系统进行安装。 2. 创建一个新的文件夹,用于存放您的前端项目文件。假设您将其命名为"my-frontend"。 3. 在"my-frontend"文件夹中创建一个名为"Dockerfile"的文件,并将以下内容添加到文件中: ``` # 使用Nginx作为基础镜像 FROM nginx # 将前端项目文件复制到Nginx的默认网站目录 COPY . /usr/share/nginx/html # 可选:如果您的前端项目需要使用特定的Nginx配置文件,可以将配置文件复制到/etc/nginx/conf.d/目录下 # 暴露Nginx默认的80端口 EXPOSE 80 # 启动Nginx CMD ["nginx", "-g", "daemon off;"] ``` 4. 将您的前端项目文件复制到"my-frontend"文件夹中。 5. 打开命令行终端,并导航到"my-frontend"文件夹。 6. 构建Docker镜像。在命令行中运行以下命令: ``` docker build -t my-frontend-image . ``` 这将根据"Dockerfile"中的配置构建一个名为"my-frontend-image"的Docker镜像。请确保在命令末尾的"."表示当前目录。 7. 运行Docker容器。在命令行中运行以下命令: ``` docker run -d -p 80:80 my-frontend-image ``` 这将在后台运行一个名为"my-frontend-container"的Docker容器,并将宿主机的80端口映射到容器的80端口。 现在,您的前端项目已经通过Nginx成功部署在Docker中了。您可以通过访问http://localhost 来查看您的项目。 请注意,上述步骤假设您的前端项目不需要任何特殊的Nginx配置。如果您的项目需要自定义Nginx配置,请将配置文件复制到"Dockerfile"中指定的目录,并相应地修改配置文件的名称和路径。 希望这能对您有所帮助!如果您有任何其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值