准备工作:

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云服务器初学简单教程的更多相关文章

  1. 后端 SpringBoot + 前端 vue 打包发布到Tomcat

    近段时间 做了一些前后端的开发 需要在Tomcat里进行发布    把自己整理的分享出来 后端打包 pom.xml 文件 <packaging>war</packaging> ...

  2. vue打包添加时间戳,实现更新项目自动清除缓存

    本来vue打包会自动用chunkhash来解决缓存问题,但是部分浏览器不会自动更新,因此可以通过后面t=${ }的不同来实现自动重新加载文件,保持最新的界面 (1).webpack打包:修改build ...

  3. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定

    1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...

  4. 阿里云ECS云服务器CentOS部署个人网站

    ping了一下coding pages和阿里云服务器的速度,意外感觉coding的速度反而更快.不过为了折腾,还是把博客迁移到阿里云,跌跌撞撞遇到很多坑,大多是由于对指令不熟悉以及部分教程省略了部分步 ...

  5. Vue打包后访问静态资源路径问题

    Vue介绍中static文件夹里放的是静态资源目录,如图片.字体等. 我们发现运行npm run start后本地图片路径是没问题的,但是打包上传后会怎么样呢? 我们知道,执行npm run buil ...

  6. fastapi+vue搭建免费代理IP网站部署至heroku

    说明 最近需要用到一些HTTP的代理,用于爬虫去爬取信息,搜索了一些网站,貌似现在这类提供免费代理IP的网站很多,刚好最近看了点vue的视频,弄个网站练练. 部署到heroku,预览地址:点击这里 F ...

  7. 使用 Hexo 创建项目文档网站

    当我们发布一个开源项目的时候,最重要的事情之一就是要创建项目文档.对使用项目的用户来说,文档是非常有必要的,通常我们可以使用下面这些方式来创建文档: GitHub Wiki:在 Github 上我们可 ...

  8. Azure CDN 为静态网站创建内容分发网络

    一,引言 最近刚刚接触 Edi.Wang 的 Moonglade 博客系统,正好这套系统中有使用到 Azure CND (内容分发网络),那就学习学习.那么今天就尝试利用 Azure CDN 来发布静 ...

  9. Nuxt项目搭建到发布部署

    一.项目目录结构: 方式1.直接利用官方提供好的脚手架工具进行搭建:npx create-nuxt-app <项目名> 目录会是这样(具体目录都放些什么,请看官方文档,详细): 方式2.手 ...

  10. Maven项目搭建(三):Maven直接部署项目

    上一章给大家讲解了如何使用Maven搭建SSM框架项目.   这次给大家介绍一下怎么使用Maven直接部署项目.   Maven直接部署项目  1.新建系统变量CATALINA_HOME,值为:Tom ...

随机推荐

  1. 2021.06.29 mac系统下zsh: command not found:***报错问题

    最近老是遇到zsh: command not found:vue,zsh: command not found:nrm, zsh: command not found:tsc, zsh: comman ...

  2. ffmpeg gcc is unable to create an executable file C compiler test failed

    ffmpeg 编译出现 #sudo ./configure --enable-shared --prefix=/usr/local/ffmpeg gcc is unable to create an ...

  3. base64压缩

    1 /** * 压缩图片 * base64 : 图片base64字符串 * w : 图片宽高最大值 * callback : 回调函数 * quality : 压缩系数0-1之间, 默认0.92 * ...

  4. topN算法问题

    问题: 如何在10亿个整数中找出前1000个最大的数? 小顶堆堆排序 首先,我们需要构建一个大小为N(1000)的小顶堆,小顶堆的性质如下:每一个父节点的值都小于左右孩子节点,然后依次从文件中读取10 ...

  5. 单机Linux下搭建MongoDB副本集-三节点

    前言说明 Linux下安装MongoDB副本集我基本上是一次搭建,几百年不再碰,也记不住具体的命令,偶尔需要搭建都是直接网上找的教程. 有些教程很精简,有些又版本不一样,所以索性我整合下别人的教程,把 ...

  6. 重学c#系列—— explicit、implicit与operator[三十四]

    前言 我们都知道operator 可以对我们的操作符进行重写,那么explicit 和 implicit 就是对转换的重写. 正文 explicit 就是强制转换,然后implicit 就是隐式转换. ...

  7. Trie树结构

    PrefixTree 208. 实现 Trie (前缀树) Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键.这一数据结构 ...

  8. Visual Studio 2022 不支持 .NET Framework 4.5 项目的解决办法

    概述 升级到Visual Studio  2022后,打开速度快了很多,开发体验也舒服很多.只是使用过程中遇到了一个比较尴尬的问题:默认Visual Studio 2022 不再支持安装 .NET F ...

  9. GitLab 安装部署使用

    GitLab介绍 GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业.学校等内部网络搭建git私服. 功能:Gitl ...

  10. [Python]【Form Data vs Request Payload】之 python 爬虫如何实现 POST request payload 形式的请求

    1 问题描述 欲使用Python的requests库(requests.session().request(...))实现对此Ajax的POST请求进行模拟实现. 但在chrome发现其请求的形式不一 ...