从零开始部署Web服务

假设你已经从亚马逊、SoftLayer等云服务提供商处得到一个Ubuntu虚拟机,一般它们会提供给你一个IP地址、root用户名和密码,或者private key。

  1. 使用root帐号ssh登录到服务器。
    #如果提供的是用户名和密码
    ssh root@ip
    #如果提供的是用户名和private key
    ssh root@ip -i ~/.ssh/private_key

  2. 使用root账户是一件危险的事,因此,登录后的第一件事就是创建一个新用户,并为它分配sudo权限。
    root adduser foo
    #将用户foo添加至sudo用户组,使其拥有sudo权限
    gpasswd -a foo sudo
    #切换foo为登录用户
    su - foo

  3. 为新用户生成private、public key,修改SSH配置,修改ssh默认端口号、禁用密码形式的登录验证。

     #在**本机**生成公钥私钥
     ssh-keygen
     #在虚拟机上foo用户的主目录,创建.ssh/authorized_keys文件,并将生成的公钥粘贴到其中
     mkdir .ssh
     touch .ssh/authorized_keys
     nano .ssh/authorized_keys
     #为该目录和文件分配合适的访问权限
     chmod 700 .ssh
     chmod 644 .ssh/auhtorized_keys
     #退出虚拟机,在本机尝试以公钥私钥的形式登录
     ssh foo@ip -i .ssh/your_private_key
     #登录成功后,修改/etc/ssh/sshd_config,改变默认端口号、禁用密码登录:
     #Port 2200
     #PasswordAuthentication no
     sudo nano /etc/ssh/sshd_config
     #重启ssh服务后生效
     sudo service ssh restart 
     #以新的端口号重新登录
     ssh foo@ip -p 2200 -i .ssh/your_private_key
    
  4. 配置防火墙,仅打开要用到的端口号。

     #首先关闭所有进入端口、打开所有出去端口
     sudo ufw default deny incoming
     sudo ufw default allow outgoing
     #打开ssh端口
     sudo ufw allow 2200/tcp
     #打开HTTP端口
     sudo ufw allow www
     #或者sudo ufw allow 80/tcp
     #打开NTP端口
     sudo ufw allow ntp
     #检查所添加的规则
     sudo ufw show added
     #使防火墙生效
     sudo ufw enable
    
  5. 设置时区
    sudo dpkg-reconfigure tzdata
    #设置NTP同步
    sudo apt-get update
    sudo apt-get install ntp

  6. 更新升级操作系统、安装需要用到的软件。

     #更新软件源列表
     sudo apt-get update
     #升级
     sudo apt-get upgrade
     #安装Apache服务器
     sudo apt-get install apache2
     #安装mod_wsgi
     sudo apt-get install python-setuptools libapache2-mod-wsgi
     #重启apache2使mod_wsgi生效
     sudo service apache2 restart
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • 最简单的一个操作: sudo ufw status(如果你是root,则去掉sudo,ufw status)可检查...
    锋利的小刀阅读 1,625评论 0 0
  • Ubantu安装成功后以SSH方式连接 22端口ping不通 解决方法如下: (1)关闭防火墙,执行sudo uf...
    feiyingmm阅读 1,233评论 0 1
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 100,755评论 9 468
  • 闭上眼睛 深呼吸 让烦与乱 从心里滚出去 嘈杂的一天 吞噬了太多戾气 如麻乱心 牵不出头绪 深呼吸 让全世界 慢慢...
    冰糖芥末阅读 734评论 12 14

友情链接更多精彩内容