在 Nginx 上部署项目

购买服务器,设置安全组,开放默认端口,这样才能访问服务器。
配置nginx,nginx用于反向代理,a.访问地址可以找到前端项目;b.让前端项目部署的服务器可以向后端服务器发送请求得到数据。

1. 构建 Vue 项目

npm run build

2. 安装 Nginx

在 Ubuntu 上安装 Nginx

sudo apt update
sudo apt install nginx

在 CentOS 上安装 Nginx

sudo yum install epel-release
sudo yum install nginx

3. 配置 Nginx

打开 Nginx 配置文件进行编辑。配置文件通常位于 /etc/nginx/nginx.conf
编辑文件 vim nginx.conf-----按 i 键进入插入模式,主要添加如下两项(一定要加分号):

解决a.:
      location / {                        // 这里的 / 是指访问的/根目录
        root   /root/jyh/dist;    // dist存放文件
        index index.html;
        try_files $uri/ /index.html;
      }

解决b.:
      location /api {
        proxy_pass "http://39.98.123.211";   // 后端服务器地址
      }

esc–:wq 保存文件

a. 一个server对应一个vue项目
b. listen:表示监听服务器上的哪个端口,就是说请求只有发送到nginx上的这个端口号,这个请求才可以被nginx所监听、接收到
c. server name:就是当前服务器的ip(就是现在nginx安装的服务器的ip),也可以是域名

4.运行nginx服务器

sudo systemctl restart nginx      
### 在 Docker 中使用 Nginx 部署 Vue.js 项目的最佳实践 为了在 Docker 容器中成功部署基于 NginxVue.js 应用程序,可以遵循以下方法: #### 准备工作环境 确保本地开发环境中已经构建好 Vue.js 项目,并且能够正常运行 `npm run build` 命令来生成生产版本的静态资源文件。这些文件通常位于项目的 `/dist` 文件夹内。 #### 创建自定义 NGINX 配置文件 创建一个适合前端应用服务的 NGINX 配置文件 `default.conf` 来替代默认配置[^2]: ```nginx server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; try_files $uri $uri/ /index.html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; } ``` #### 构建 Dockerfile 和镜像 编写用于打包应用程序及其依赖项至 Docker 映像中的脚本 `Dockerfile`: ```dockerfile FROM nginx MAINTAINER YourName <your.email@example.com> RUN rm /etc/nginx/conf.d/default.conf ADD default.conf /etc/nginx/conf.d/ COPY dist/ /usr/share/nginx/html/ EXPOSE 80 ``` 在此基础上,可以通过如下命令构建映像并启动容器: ```bash docker build -t vue-app . docker run -d --name vue-app-container -p 80:80 vue-app ``` #### 使用 docker-compose 进行编排 (可选) 对于更复杂的场景或者希望简化多服务管理的情况,推荐采用 `docker-compose.yml` 文件来进行组合式的容器化部署方案[^3]: ```yaml version: '3' services: web: image: nginx volumes: - ./dist:/usr/share/nginx/html - ./conf.d:/etc/nginx/conf.d ports: - "80:80" restart: always ``` 之后只需简单执行一次 `docker-compose up -d` 即可完成整个系统的初始化与上线操作。 #### 关键点总结 - **挂载卷**:通过 `-v` 参数指定宿主机路径到容器内部位置之间的绑定关系,使得修改后的 HTML/CSS/JS 资源无需重建镜像即可生效; - **暴露端口**:利用 `-p` 将容器内的 HTTP(S)监听端口映射给外部网络接口上的特定地址段; - **持久化日志记录**:考虑将错误信息输出重定向保存于独立的日志存储空间以便后续排查问题;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值