关于前端vue打包项目以及静态网站部署项目到阿里云ECS云服务器初学简单教程
准备工作:
1.首先进入https://ecs.console.aliyun.com/ 领取或者购买一台简单的ECS云服务器。
进入网站注册登录后拉到页面最下面或者顶部搜索免费云服务器领取立即试用 ,当然富哥花钱买一台服务器也行。

创建完了以后可以进入云服务ECS工作台,然后就是以下界面

点击右边的实例进入到实例界面 会默认生成一个实例(也可以自己尝试创建新的实例)
给当前的实例修改成自己想要保存的实例名称和密码(自己要记住后面需要用到)

然后点击左侧的网络与安全>安全组并且进入创建一条80端口的安全组规则并保存

回到刚才的实例列表点击远程连接并通过Workbench远程连接(其他方式可以自己尝试),输入前面自己修改的实例名称+密码登录。
会进入到一个黑色界面类似控制台的页面

有两个比较重要的模板需要使用 右上角的文件>打开新文件树以及会话>新终端
一、在右侧的新终端搭建我们的Docker CE(社区版)企业版则为Docker EE。
首先安装Docker依赖库
yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker CE的软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker CE
yum makecache fast
yum -y install docker-ce
最后启动Docker服务
systemctl start docker
额外的两个Docker常用命令
重新加载服务配置
systemctl daemon-reload
重启Docker服务
systemctl restart docker
二、使用Docker安装Nginx服务
查看Docker镜像仓库中Nginx的可用版本
docker search nginx
拉取最新版的Nginx镜像
docker pull nginx:latest
查看本地镜像
docker images
运行容器
docker run --name nginx-test -p 8080:80 -d nginx
命令参数说明:
--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。
-d nginx: 设置容器在后台一直运行。
然后在浏览器输入http://<ECS公网地址>:8080打开Nginx服务。代表Nginx服务已经正常运行。

附:参考配置地址:https://developer.aliyun.com/article/946460
三、单独安装Nginx依赖并使用Naginx
安装依赖包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
下载并解压安装包
//cd进入/usr/local文件目录
cd /usr/local
//创建一个nginx文件夹
mkdir nginx
//cd进入nginx文件
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//下载好进行解压命令
tar -xvf nginx-1.13.7.tar.gz
安装Nginx
//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
//执行make命令
make
//执行make install命令
make install
注意make有可能会出现很多报错的情况
简单列举几项解决方案(其他的自行百度)
第一种错误
src/os/unix/ngx_user.c: In function ‘ngx_libc_crypt’:
src/os/unix/ngx_user.c:36:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
36 | cd.current_salt[0] = ~salt[0];
| ^
make[1]: *** [objs/Makefile:797:objs/src/os/unix/ngx_user.o] 错误 1
make[1]: 离开目录“/home/zyz/nginx-1.12.0/nginx-1.12.0”
make: *** [Makefile:8:build] 错误 2
解决方案
打开文件树列表进入/usc/local/nginx/nginx-1.13.7/src/os/unix/ngx_user.c文件 注销 cd.current_salt[0] = ~salt[0];保存
第二种错误
src/http/ngx_http_script.c: 在函数‘ngx_http_script_add_full_name_code’中:
src/http/ngx_http_script.c:1296:18: 错误:cast between incompatible function types from ‘size_t (*)(ngx_http_script_engine_t *)’ {或称 ‘long unsigned int (*)(struct <匿名> *)’} to ‘void (*)(ngx_http_script_engine_t *)’ {或称 ‘void (*)(struct <匿名> *)’} [-Werror=cast-function-type]
code->code = (ngx_http_script_code_pt) ngx_http_script_full_name_len_code;
^
cc1:所有的警告都被当作是错误
make[1]: *** [objs/Makefile:893:objs/src/http/ngx_http_script.o] 错误 1
make[1]: 离开目录“/usr/download/nginx-1.14.1”
make: *** [Makefile:8:build] 错误 2
解决方案
打开文件树列表进入/usc/local/nginx/nginx-1.13.7/objs/Makefile文件
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g
改为
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g
如何启动Nginx服务
输入命令
cd /usr/local/nginx/sbin
到目录执行:
./nginx
第三种错误(Nginx启动错误)
Nginx启动时提示nginx: [emerg] still could not bind()
首先查看Nginx配置文件的端口为80端口
netstat -ntlp|grep 80
如果能查到有tcp的数据并且最后是6****/nginx:worker
输入kill关闭占用的进程直到查询不到占用情况
最后输入重启Nginx就不会报错了
./nginx
附简单的nginx命令
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启
详细命令参考:https://blog.csdn.net/GyaoG/article/details/118054247
四、上传打包好的前端web项目或者网址
先下载一个叫FileZilla免费开源的FTP客户端软件。
下载地址:http://soft.ykmjk.com/sinfo/104695380_4002451.html
下载好并安装打开软件

输入阿里云的公网IP以及用户名和密码 端口进行连接,连接成功后会出现上面的左右两边的文件列表
左侧为本地的站点文件(找到你需要上传的网址或者dist打包项目)
右侧为云服务ECS的的文件列表(找到/usc/local/nginx/html目录创建你的文件夹并将打包好的文件内容上传到里面,例如文件名appyj)
然后就可以通过浏览器打开http://8.134.**.***/appyj 就可以访问项目了(这里的IP是云服务器的公网IP)
这里只上传了vue项目打包后的文件 上传多个项目就多新建目录并上传就可以了。
不同的端口使用还在研究 有大佬也可以告知一下。。。(写的有点随意,只作为个人案例记录,仅供参考)。
关于前端vue打包项目以及静态网站部署项目到阿里云ECS云服务器初学简单教程的更多相关文章
- 后端 SpringBoot + 前端 vue 打包发布到Tomcat
近段时间 做了一些前后端的开发 需要在Tomcat里进行发布 把自己整理的分享出来 后端打包 pom.xml 文件 <packaging>war</packaging> ...
- vue打包添加时间戳,实现更新项目自动清除缓存
本来vue打包会自动用chunkhash来解决缓存问题,但是部分浏览器不会自动更新,因此可以通过后面t=${ }的不同来实现自动重新加载文件,保持最新的界面 (1).webpack打包:修改build ...
- 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...
- 阿里云ECS云服务器CentOS部署个人网站
ping了一下coding pages和阿里云服务器的速度,意外感觉coding的速度反而更快.不过为了折腾,还是把博客迁移到阿里云,跌跌撞撞遇到很多坑,大多是由于对指令不熟悉以及部分教程省略了部分步 ...
- Vue打包后访问静态资源路径问题
Vue介绍中static文件夹里放的是静态资源目录,如图片.字体等. 我们发现运行npm run start后本地图片路径是没问题的,但是打包上传后会怎么样呢? 我们知道,执行npm run buil ...
- fastapi+vue搭建免费代理IP网站部署至heroku
说明 最近需要用到一些HTTP的代理,用于爬虫去爬取信息,搜索了一些网站,貌似现在这类提供免费代理IP的网站很多,刚好最近看了点vue的视频,弄个网站练练. 部署到heroku,预览地址:点击这里 F ...
- 使用 Hexo 创建项目文档网站
当我们发布一个开源项目的时候,最重要的事情之一就是要创建项目文档.对使用项目的用户来说,文档是非常有必要的,通常我们可以使用下面这些方式来创建文档: GitHub Wiki:在 Github 上我们可 ...
- Azure CDN 为静态网站创建内容分发网络
一,引言 最近刚刚接触 Edi.Wang 的 Moonglade 博客系统,正好这套系统中有使用到 Azure CND (内容分发网络),那就学习学习.那么今天就尝试利用 Azure CDN 来发布静 ...
- Nuxt项目搭建到发布部署
一.项目目录结构: 方式1.直接利用官方提供好的脚手架工具进行搭建:npx create-nuxt-app <项目名> 目录会是这样(具体目录都放些什么,请看官方文档,详细): 方式2.手 ...
- Maven项目搭建(三):Maven直接部署项目
上一章给大家讲解了如何使用Maven搭建SSM框架项目. 这次给大家介绍一下怎么使用Maven直接部署项目. Maven直接部署项目 1.新建系统变量CATALINA_HOME,值为:Tom ...
随机推荐
- Nginx TP框架伪静态配置
location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } }
- el-admin角色编辑功能详解
1.首先el-admin中的编辑和删除功能重新写成为了一个组件 data和permission都是父组件向子组件传参.data传的是当前表格中选中行的这条数据,permission是定义的一个对象. ...
- ffmpeg的常用参数
-encoders 查看支持的编码器 Intel处理器的核心显卡支持的编码器带有qsv后缀(Intel quick sync video acceleration) NVIDIA独立显卡 ...
- OSPF的收敛特性
- 给jui(dwz)的菜单树换一套漂亮的图标
JUI是一个免费开源的框架,在使用初期,会遇到一些麻烦,因为文档实在太少了,完全不知道从哪里入门,但是,一旦你深入学习后,你会发现,你的选择是不错的,它会提高你开发的效率,同时,你会深深爱上它. 目前 ...
- ICSFUZZ:操纵I/O、二进制代码重用以及插桩,来Fuzzing工业控制应用程序
本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 源码:GitHub - momalab/ICSFu ...
- 使用Docker搭建MinIO集群服务
概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用Docker的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 RELEASE ...
- POI Excel单元格样式超过最大数(4000或64000)的解决方案
aliases: [] tags : " #QA #Java " summary: [POI生成Excel超出的单元格样式的最大数量] author : [yaenli] note ...
- ES6中的解构赋值(数组,对象,嵌套,默认值)
解构赋值 通过解构赋值,可以快速从对象或者数组中取出属性或者数值. 解构赋值 可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量. const arr = ['dasha', 'ers ...
- Golang 挑战:编写函数 walk(x interface{}, fn func(string)),参数为结构体 x,并对 x 中的所有字符串字段调用 fn 函数。难度级别:递归。
golang 挑战:编写函数 walk(x interface{}, fn func(string)),参数为结构体 x,并对 x 中的所有字符串字段调用 fn 函数.难度级别:递归. 为此,我们需要 ...