零基础在AWS上部署网站教程 - 创建实例并部署访问(mac)
AWS官网:AWS 云服务-专业的大数据和云计算服务以及云解决方案提供商1.注册账号并登陆进入AWS管理控制台2.搜索“EC2” 并点击进入,右上角选择部署地区(第一次部署不知道,直接在默认地区部署的,导致又从头来了一遍,简直是绝望)3. 启动新实例选择免费套餐,我这边选的第二个有一些汉化的提示,下面的操作也都是基于此,想选别的也行依然选免费的下面完全按照提示点击下一步,最后审核创建钥匙对,并下载
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;
}
更多推荐
所有评论(0)