项目部署处理方案
# 项目构建过程分析与实现
- 为什么需要打包项目?
- 打包之后项目可以通过浏览器直接访问吗?
- 为什么需要有服务?
为什么需要打包项目:
浏览器只能识别并运行 html、css、js 文件 。
那么换句话而言,项目中的 .vue 文件,浏览器是不认识的。
而打包的过程就是把 .vue 的 单文件组件 打包成 html、css、js 的文件,让浏览器进行识别,并展示我们的项目
打包之后项目可以通过浏览器直接访问吗?
我们可以测试一下。
通过 npm run build 打包项目之后,打包的文件会被放入到 dist 文件夹中,其实我们可以直接双击 index.html 文件,可以发现,浏览器是 无法 显示项目的。
打开 F12 可以发现,终端中抛出了很多的错误。
那么根据这些错误可以知道,无法显示的原因是因为 一些文件找不到了。
查看我们的 url 可以发现,其实我们的 url 是一个 file 协议。那么对应的文件路径就会编程 盘符下的 xxx ,在我们当前的盘符下没有对应的文件,那么自然是无法找到的。
而想要解决这个问题的话,就需要把我们的项目运行到一个 服务 中,就像我们开发时的 devServer (opens new window) 一样。
为什么需要有服务?
明确了上面的问题之后,为什么要有服务就比较好理解了。
我们需要通过一个 服务 托管我们的项目,从而避免出现模块无法被找到等问题。
那么明确好了,以上问题之后,接下来我们就可以打包我们的项目,并且把项目部署到服务器之中。
我们可以通过 npm run build 打包项目,打包好项目之后,接下来我们再来看如何到服务器中部署我们的服务。
# 域名、DNS、公网IP、服务器、Nginx之间的关系
基本概念:
- 域名:
https://imooc-admin.lgdsunday.club - DNS:域名解析服务器
- 公网IP:服务器在网络中的唯一地址
- 服务器:服务部署的电脑
- Nginx:网页服务

# 阿里云服务器购买指南
云服务器 ECS 自定义购买 (opens new window)
# 服务器连接方式
常见的连接服务器的方式有三种:
- 阿里云控制台中进行远程链接
- 通过
SSH工具(XShell (opens new window)) SSH指令远程登录
# Nginx 环境处理
nginx编译时依赖gcc环境yum -y install gcc gcc-c++1安装
prce,让nginx支持重写功能yum -y install pcre*1安装
zlib,nginx使用zlib对http包内容进行gzip压缩yum -y install zlib zlib-devel1安装
openssl,用于通讯加密yum -y install openssl openssl-devel1进行
nginx安装创建
nginx文件夹下载
nginx压缩包wget https://nginx.org/download/nginx-1.11.5.tar.gz1解压
nginxtar -zxvf nginx-1.11.5.tar.gz1进入
nginx-1.11.5目录cd nginx-1.11.51检查平台安装环境
./configure --prefix=/usr/local/nginx1进行源码编译
make1安装
nginxmake install1查看
nginx配置/usr/local/nginx/sbin/nginx -t1制作
nginx软连接进入
usr/bin目录cd /usr/bin1制作软连接
ln -s /usr/local/nginx/sbin/nginx nginx1接下来制作配置文件
首先进入到
nginx的默认配置文件中vim /usr/local/nginx/conf/nginx.conf1在最底部增加配置项(按下
i进入 输入模式)include /nginx/*.conf;1按下
esc键,通过:wq!保存并退出创建新的配置文件
touch /nginx/nginx.conf1进入到
/root/nginx/nginx.conf文件vim /nginx/nginx.conf1写入如下配置
# imooc-admin server { # 端口 listen 80; # 域名 server_name localhost; # 资源地址 root /nginx/dist/; # 目录浏览 autoindex on; # 缓存处理 add_header Cache-Control "no-cache, must-revalidate"; # 请求配置 location / { # 跨域 add_header Access-Control-Allow-Origin *; # 返回 index.html try_files $uri $uri/ /index.html; } }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20通过
:wq!保存退出在
root/nginx中创建dist文件夹mkdir /nginx/dist1在
nginx/dist中写入index.html进行测试通过
nginx -s reload重启服务在 浏览器中通过,
IP测试访问
# 项目发布
可以通过 XFTP (opens new window) 进行数据传输
# 总结
本章节主要讲解了一些基础的 部署 相关的知识,这些内容并不复杂,属于通用性内容。