aws 部署项目遇到的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aws 部署项目遇到的问题相关的知识,希望对你有一定的参考价值。

参考技术A 1、ssh连接服务器连接不上

aws默认创建非root用户,并且使用密钥对登录,公钥存储在/home目录+用户名的隐藏.ssh文件下,因为公司项目有要求也是只能通过密钥对登录就没有修改账户密码登陆,登录后使用命令sudo -i 切换到root用户。因为挂载磁盘在/home目录下所以密钥对没有当断开连接或超时自动断开时就会再也连不上去了。所以可行的时挂载到/mnt目录或者挂载/home前备份文件,挂载后cp到/home下。

这个问题弄得我好烦,我以为是更改端口的问题,后面没更改还是一样出错,而且aws还不允许初始化系统和还原快照好像。

创建root用户密钥对

其实这个也适合配置服务器间ssh免登录

2、修改默认端口

因为默认ssh端口不安全容易被黑客找到机会,要求更改默认端口,并且生产环境要求启用防火墙,想着测试环境各种关闭防火墙部署环境那叫一个爽,到了生产就叫苦了。更改默认端口后需要开启防火墙和selinux,云上还要开启安全组,记得开启防火墙端口后要重载,selinux也需要开放端口,ssh需要重启。

这里困扰了挺久的,我想到了防火墙和安全组,没注意selinux。
3、防火墙

服务器上部署etcd,服务连不上etcd,报错no route to host,结果还是防火墙问题,开放2379和2380端口,并且记得重载。

4、启动docker容器时报错

5、nginx安装失败

6、etcd连接不上

7、ip ping不通

这个是安全组未开放icmp端口,开放所有ipv4就可以了。

8、asw S3设置公开访问权限

这个配置我是真的挺无语的,设置了好久解决不了,还是json来配置吧。老外的思维和我们还是挺大的哈。

8、购买服务器

购买服务器选择镜像一定选择官方镜像,注意安全。

9、购买RDS
AWS RDS可以设置只对内网开放或公网开放,通过终端节点连接,所以不要去傻傻的找公网IP和私有IP了。

连接方式终端节点+端口+主用户+主密码。

10、nginx问题
Nginx 500错误(Internal Server Error 内部服务器错误)

html 文档的字符编码未声明。如果该文件包含 US-ASCII 范围之外的字符,该文件将在某些浏览器配置中呈现为乱码。页面的字符编码必须在文档或传输协议层声明。
原因是nginx配置以及权限问题。

还有几个是未解之谜,怪事年年有,aws特别多

文章仅给自己引以为戒,犯过的错误不要再犯,归根结底还是对AWS不熟悉。

国外除了AWS,还有 https://www.linode.com/ , https://www.vultr.com/ ,这几个都不错的。

以上是关于aws 部署项目遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

部署到 AWS Elastic Beanstalk 时的 ConnectionString 转换

从 Windows 部署到 aws 上的 ubuntu 实例

AWS Elastic Beanstalk 使用 CLI 部署时出现 Botocore 错误

使用 AWS Elasticbeanstalk 部署 Django 应用程序时出现 WSGIPath 错误

使用 Python 在 AWS Elastic Beanstalk 上创建 DynamoDB 时遇到问题

使用 Rails 5.1 在 AWS Beanstalk 上编译 tailwindcss 时遇到问题