美文网首页
在阿里云上部署我们的Flask App(1)

在阿里云上部署我们的Flask App(1)

作者: 何赛艾慕 | 来源:发表于2019-06-02 16:00 被阅读0次

    最近为了加深flask框架的掌握,尝试搭建了一个简单的博客,主要是做给自己看看,了解一下开发部署流程(在saas上),顺便试一下自己的域名能不能绑定,在这里分享一下步骤,希望其中踩过的小坑能对你有所帮助。

    阿里云篇

    首先,可能是我没有看过阿里云ECS的入门介绍,对于一些小的知识点还是不是很清楚,比如SSH用的IP是公网还是私网IP,这个问题我查了一下是公网IP,并且连接成功,又比如windows一定要下个putty才能和云虚拟机连起来吗,这个问题发现使用git也内置了openssh。

    ssh连接后,首先就是update/upgrade啦:

    Welcome to Alibaba Cloud Elastic Compute Service !
    
    ~# apt update && apt upgrade
    ......
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    
    
    image.gif

    之后你可以创建一个非root账户更安全的运行web服务器,并把该账户添加到你的用户组中:

    adduser ****
    adduser **** sudo
    
    image.gif

    同时也可以更改主机名:

    hostnamectl set-hostname flask-blog-server
    
    
    image.gif

    当然你还要把更改加入到你的"/etc/hosts"文件中:

    127.0.0.1       localhost
    106.15.###.###  flask-blog-server    //添加这一行,前面是你自己的公网IP
    
    # The following lines are desirable for IPv6 capable hosts
    .....
    
    image.gif

    这时你可以用exit命令推出你的远程连接,然后使用如下命令去登陆你已经设置好名称和用户的主机。

    ssh {user}@106.15.###.###        //{}和后面的IP是你自己的账户
    
    image.gif

    当然,我们还要对服务器做一些安全设置,典型的是:使用SSH密钥来替代密码作为登陆方式:

    $ ssh-keygen -b 4096
    
    
    image.gif

    随后按回车全部默认值即可,之后我们会得到两个保存密钥的文件,其中“id_rsa.pub”作为提供给第三方作为认证的凭据要上传到我们的远程主机中。

    $ scp ~/.ssh/id_rsa.pub ###@106.15.###.###:~/.ssh/authorized_keys
    
    
    image.gif

    之后,使用如下命令:

    $ chmod go-w ~/                    #查看并创建.ssh
    $ chmod 700 ~/.ssh                 #把密钥写入文件
    $ chmod 600 ~/.ssh/authorized_keys #设置权限
    
    
    image.gif

    这时返回本地重新登陆,可以看到我们不需要再输入密码了。
    解决完上述登陆问题,还有几个点需要注意一下,比如我们可能需要:

    $ sudo vim /etc/ssh/sshd_config
    #在该文件中,修改两个值
    PasswordAuthentication no
    PermiteRootLogin no
    #然后重启服务
    $ sudo service ssh restart
    
    image.gif

    上述步骤可以关闭密码登录功能,提高我们登陆的安全系数。

    当然我们还要利用防火墙设置开放端口:

    $ sudo ufw default allow outgoing
    Default outgoing policy changed to 'allow'
    (be sure to update your rules accordingly)
    $ sudo ufw default deny incoming
    Default incoming policy changed to 'deny'
    (be sure to update your rules accordingly)
    a$ sudo ufw allow ssh
    Rules updated
    Rules updated (v6)
    $ sudo ufw allow 5000
    Rules updated
    Rules updated (v6)
    $ sudo ufw enable
    Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
    Firewall is active and enabled on system startup
    $ sudo ufw status
    Status: active
    
    To                         Action      From
    --                         ------      ----
    22/tcp                     ALLOW       Anywhere
    5000                       ALLOW       Anywhere
    22/tcp (v6)                ALLOW       Anywhere (v6)
    5000 (v6)                  ALLOW       Anywhere (v6)
    
    
    image.gif

    在这里我们只开放了ssh和本地5000端口作为测试,后面随着功能完善我们可以做更多的事。

    相关文章

      网友评论

          本文标题:在阿里云上部署我们的Flask App(1)

          本文链接:https://www.haomeiwen.com/subject/osvxxctx.html