零基础在AWS上部署网站教程 - 创建实例并部署访问(mac)

AWS官网:AWS 云服务-专业的大数据和云计算服务以及云解决方案提供商

1.注册账号并登陆

进入AWS管理控制台 

2.搜索 “EC2” 并点击进入,右上角选择部署地区(第一次部署不知道,直接在默认地区部署的,导致又从头来了一遍,简直是绝望)

3. 启动新实例

 选择免费套餐,我这边选的第二个有一些汉化的提示,下面的操作也都是基于此,想选别的也行 

依然选免费的

 下面完全按照提示点击下一步,最后审核创建钥匙对,并下载密钥

(这部分图忘记截了,根据提示一般没什么问题,密钥对起名字可以起 “key”)

启动实例 

这一步我们的实例就已经起来了,现在本地连接

打开本地终端,cd到你密钥所在文件夹,并复制下面命令输入

(""表示在当前文件夹下的文件引用,可以改成绝对路径)

(keyA.pem是密钥文件名)

(ec2-user 用户名)(用户名可以在上面截图的第一栏改,一般默认都是 ec2-user 或者 root)

(后面马赛克部分可以改成 ip地址)

中途可能需要你输入 yes ,下面箭头表示连接成功

连接成功后可能会显示报错并回到本地

client_loop: send disconnect: Broken pipe

这是因为要保活,问题不大,重新连一下就可以了

安装nginx:

sudo amazon-linux-extras install nginx1

Warning: Identity file keyA.pem not accessible: No such file or directory. 

本地文件夹输入 chmod 400 keyA.pem

-> Downloads chmod 400 keyA.pem

 回到本地,传输文件到服务器

scp -i 密钥所在地址/keyA.pem 传输文件所在地址/dist.zip ec2-user@ip地址:/home/ec2-user

 把上面文字改成对应地址即可

如果不知道文件地址的绝对路径,可以找到文件,右击“显示简介”,选择蓝色部分复制即可

之前我一直显示下面的报错,但是这个地址本地是可以访问到文件的,后来发现我是在服务器上输入指令的,就很难受

Warning: Identity file /Users/masaike/Downloads/keyA.pem not accessible: No such file or directory.

成功后 输入 ssh 指令访问服务器

传输成功

下面用nginx部署,以下操作都是在服务器完成的

解压文件到相应地址

sudo unzip dist.zip -d /usr/share/nginx/html/

后续更新覆盖之前的文件并且不交互(覆盖成功后网站即更新了)

sudo unzip -o dist.zip -d /usr/share/nginx/html/

配置nginx文件

sudo vi /etc/nginx/nginx.conf

进入编辑模式:  fn+c

修改部分:

server {
        listen       80;
        #listen       [::]:80;
        server_name  _;
        location  /  {
            root         /usr/share/nginx/html/dist;
            index      index.html   index.htm;
} 

退出编辑模式: esc

保存退出:

:wq!

重启连接

sudo nginx -s reload

现在访问应该可以看到你写的网站了。

其他可能会用到的:

1.查看所有文件:ls -al

2.查看历史输入的指令:history (用于抱大腿后复盘)

3.nginx地址 :/etc/nginx/

4.nginx报错:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

原因:nginx重复启动,修改后 sudo nginx -s reload 重启就好了

5.权限报错:

Permission denied

报错中有上图关键字的,在指令前面输入 sudo 一般可以解决

6.部署成功后,除了首页外的其他页面刷新都会404

1.vue路由为history模式

2.ngnix部分配置修改,映射到index页面

server {
        listen       80;
        #listen       [::]:80;
        server_name  _;
        location  /  {
            root         /usr/share/nginx/html/dist;
            try_files $uri $uri/ /index.html last;
            index      index.html   index.htm;
} 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值