准备工作:

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. HTTP 协议相关

    一. HTTP常见请求头 1. Host (主机和端口号) 2. Connection (连接类型) 3.Upgrade-Insecure-Requests (升级为HTTPS请求) 4. User- ...

  2. MYSQL 变更账号密码

    #1 首先找到Mysql[安装的路径],切换到对应的bin目录,例如安装在D盘 C:User\Administrator> d:(输入盘符回车) D:\> cd D:\MySQL\MySQ ...

  3. 【LeetCode回溯算法#10】图解N皇后问题(即回溯算法在二维数组中的应用)

    N皇后 力扣题目链接(opens new window) n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 n ,返回所有不同的 n 皇 ...

  4. 对于Java课上问题的探究和解答

    问题一:子类和父类的继承关系(extends) 需要强调的是,子类自动声明继承父类中的public和protected的成员 其中,public成员,外界可以自由访问: private成员,外界无法进 ...

  5. 我用 Laf 三分钟写了一个专属 ChatGPT ,Laf 创始人:明天来上班!

    起因 故事是这样的,一个月黑风高的夜晚,我掏出手机像往常一样打开朋友圈. 一开始我是不相信的,直到我(快速的) --> 打开 laf --> 创建应用 --> 新建云函数 --> ...

  6. java数组排序及查找方法

    前言 在上一篇文章中,壹哥给大家讲解了数组的扩容.缩容及拷贝方式.接下来在今天的文章中,会给大家讲解更重要的数组排序及查找方法.今天的内容会有点难,希望你不要因此而退缩,挺过这一关,你会向上突破的! ...

  7. 分布式缓存的一致性 Hash 算法

    一.使用一致性 Hash 算法的原因 简单的路由算法可以使用余数 Hash:用服务器数据除缓存数据 KEY 的 Hash 值,余数为服务器列表下标编码.这种算法可以满足大多数的缓存路由需求.但是,当分 ...

  8. SHA-256 简介及 C# 和 js 实现【加密知多少系列】

    〇.简介 SHA-256 是 SHA-2 下细分出的一种算法.截止目前(2023-03)未出现"碰撞"案例,被视为是绝对安全的加密算法之一. SHA-2(安全散列算法 2:Secu ...

  9. golang pprof监控系列(2) —— memory,block,mutex 使用

    golang pprof监控系列(2) -- memory,block,mutex 使用 大家好,我是蓝胖子. profile的中文被翻译轮廓,对于计算机程序而言,抛开业务逻辑不谈,它的轮廓是是啥呢? ...

  10. VUE基本写法

    VUE基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...