新手 Mac Vue 项目上传到云服务器 + nginx

440 阅读3分钟

“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情

本以为很简单, 结果熬了大夜花十小时弄完, 希望能给大家带来帮助少走弯路

笔者环境: Mac + 云服务器 php 环境 + Vue 项目 + nginx

若未购买服务器, 请看另一篇搭建博客

一. 云服务器环境搭建

1. 去镜像市场

购买好服务器(或者准备用已有服务器搭建), 先点击'停止', 再点击'更换操作系统'进入镜像市场

image-20220918020154450

image-20220918020132872

2. 选择 共享镜像 中后端条件和你项目相同的

image-20220918030555608

这里我前期的误区是因为后端 api 是有另一个服务器支持, 所以我直接用 os

如果直接用 os , 你需要下 nginx 和 相应的后端环境.

但如果你和我一样后端已经设置好(已经被搭建好的服务器支持), 直接选共享镜像的前几个环境就行(注意有的要收费)

3. 使用 shell 工具

终端或其他你习惯的也行, 我用的是阿里云的, 点击远程连接根据你的系统下载

image-20220918192344902

image-20220918192428307

接下来软件登录需要使用 assess id, 根据提示来(这一步根据你 shell 软件要求的来)

image-20220918020508528

3. 连接实例下载 nginx

验证通过后选择实例(如果看不到估计是你没选对地区), 进入 ssh 命令

如果是使用 os 镜像(即没有使用公共镜像), 下载 nginx

有两种下载方式, 查阅文章和实践后, 感觉直接 yum 就行

详情见下方链接

juejin.cn/post/684490…

4. 配置 nginx

os8 的 nginx 没有 sites-available, 所以需要自己添加

如果用的 Cenos 7, 是没有sites-availble 的

zhuanlan.zhihu.com/p/500061428

新手向, 我的 domain.com 配置如下, 里面的信息根据本地文档调试

 server {
         listen 80;
         listen [::]:80;
         server_name 123.com;
 ​
         root /var/www;
 ​
         index index.html;
 ​
         location / {
                 try_files $uri $uri/ @router;
                 index index.html;
         }
                         
         location @router {
                 rewrite ^.*$ /index.html last;
         }               
 }       

记得使用 nginx -t 检查文件

可能会有个 80 的错误看第三点坑点

使用 nginx -s reload 重载文件

二. Mac 环境项目相关

1. 下载 homebrew

详情见

blog.csdn.net/weixin_4635…

2. 安装 nginx

brew install nginx

3. 配置 nginx

 cd /usr/local/etc/nginx
 code nginx.conf

如果 code 指令无效, 看第三点坑点

4. vue 项目相关

将项目 npm run build

接下来将npm run build 后的 dist 中的文件拷贝到nginx 的www下

终端进入 dist , 再使用

 cp -r * /usr/local/var/www

终端输入nginx, 即成功本地 8080 使用

5. vue 脚本配置

在根目录下(不是 src) 创建脚本 depoly.sh

 #!/bin/bash
 ​
 echo "build 生成生产环境代码"
 ​
 rm -rf dist && npm run build
 ​
 echo "上传代码到云主机"
 ​
 cd dist && scp -i ~/.ssh/key.pem -r *  root@主机公共ip地址:/var/www

6. key.pem配置即使用

在阿里云控制台云主机左侧栏的网络安全点击密钥对

image-20220918202639071

我们直接创建密钥对, 建议选字母名称,会自动下载到本地

接下来在终端到~/使用

 cd .ssh

进入.ssh文件夹, 将下好的 pem 放进去

接下来的操作见

www.runoob.com/w3cnote/mac…

7. 终端操作

在项目终端使用

 sh ./depoly.sh

就会自动把文件上传上去

三. 坑点

1. 本地出现 zsh: command not found: code

image-20220918013246947

选择 shell command 并 install

那么参考

blog.csdn.net/lxyoucan/ar…

2. 出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

blog.csdn.net/wd2014610/a…

3. 出现 [::]:80 failed (97: Address family not supported by protocol)

vim 进这个文件 注释掉就好了