零基础腾讯云CentOS部署云服务器

Web项目远程部署

(文章较长,建议需要哪一部分点击左侧目录跳转)

获取云主机,安装系统

购买云服务器

腾讯云,1核,2G,50G

在这里插入图片描述

安装系统

  • Linux主要分类

    • Debian:Ubuntu,Debian
    • Red hat:Red Hat ,Centos
  • 具体分类

    • Debian:用的deb包,使用APT包管理系统。同时Debian提供了大多数软件比较新的版本,并且提供了更多的软件包(相对于原版Red Hat)。Debian的优点在于更新迅速,软件包完善(Ubuntu尤其),操作便利。缺点是部分时候稳定性欠佳,跟进最新软件有可能存在Bug。

      Ubuntu是基于Debian所开发,可以简单地认为Ubuntu是Debian的功能加强版。与Debian相比,Ubuntu提供了更人性化系统配置,更强大的系统操作以及比Debian更激进的软件更新。Ubuntu与Debian比较,可以认为Debian更趋向于保守一些,Ubuntu对新手友好度更高,上手更容易。

    • Red Hat:用rpm包,使用yum包管理系统。相对于Debian来说,Red Hat的一大特点就是慢。大部分软件停留在稳定版本,而且相距最新版版本也差较多。而且某些新版软件的一些新特性支持也比较慢,比如php-fpm。因为Red Hat是面向企业用户提供的操作系统,所以在稳定性上十分突出,一般在新功能或稳定性的选择上更倾向于后者。只有当某个功能完全确定稳定了,才会加入到系统里。优点是系统稳定,技术文档完善,如果付费的话能得到企业级别的技术支持。缺点是软件包比较老旧,而且一些较新功能会欠缺。

      • Red Hat

        Red Hat是付费操作系统,你可以免费使用,但是如果要使用Red Hat的软件源并且想得到技术支持的话,是要像Windows那样掏钱的,所以大家可以理解为Linux中的Windows。这么做符合开源精神,免费使用,服务收费。

      • Centos

        Centos是Red Hat的开源版本。一般在Red Hat更新之后,Centos会把代码中含有Red Hat专利的部分去掉,同时Red Hat中包含的种种服务器设置工具也一起干掉,然后重新编译就是Centos。

  • 总结

    如果你喜欢尝鲜,喜欢用最新的功能或喜欢折腾系统,那么Debian是个更好的选择。

    如果你追求稳定,不想经常升级系统软件不爱折腾,那么Red Hat是你更好的选择。

    上手难度 Ubunt<Debian<Redhat=Centos。

    我安装了centOS,本文所有命令操作基于centOS7

Reference

关于系统

系统目录结构

在这里插入图片描述

  • 登录后所在目录

    刚刚远程登录后显示的是这个:

    [root@VM-0-7-centos ~]#
    

    ~代表什么路径呢?

    [root@VM-0-7-centos ~]# pwd
    /root
    

    即代表着/根目录下的root目录,该目录为系统管理员,也称作超级权限者的用户主目录

  • /usr
    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

    /usr/bin:
    系统用户使用的应用程序
    
    /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序
    
    /usr/src:
    内核源代码默认的放置目录
    
  • /etc

    这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动

  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令

Reference

远程连接操作服务器

远程连接服务器

  • 选择工具

    对于Windows,使用第三方软件会更方便,例如Xshell;对于Mac来说,可直接使用终端ssh进行连接centos服务器

    SSH是什么?

    SSH 为 (Secure Shell),专为远程登录会话和其他网络服务提供安全性的协议,如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露,目前已经成为Linux系统的标准配置。

  • 使用SSH账号密码连接远程主机

    • 登录命令

      ssh <username>@<hostname or IP address>
      

      user为默认的用户名,host为上面腾讯云提供给你的公网IP,SSH的默认端口是22,所以上述命令的默认连接端口为22,可以使用如下命令修改端口

      $ ssh -p 2222 user@host
      

      如图命令表示,ssh直接连接远程主机的2222端口

      • 问题:密码输错三场后,提示如下错误
      user@49.232.68.5's password: 
      user@49.232.68.5: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
      

      解决:

      去腾讯云控制台改一下密码

    • 登出命令

      • logout
        
      • exit
        
      • 直接关闭终端

    • 示例

      wujunnan@wujunnandeMacBook-Pro ~ %  ssh root@wujunnan.net
      root@wujunnan.net's password: 
      Last login: Tue Nov 24 22:16:27 2020 from 120.244.160.103
      
  • 使用SSH密钥登录远程主机

    • 先去控制台获取密钥

    • 执行以下命令,赋予私钥文件仅本人可读权限

      chmod 400 <下载的与云服务器关联的私钥的绝对路径>
      
    • 执行以下命令,进行远程登录(第一次会让输入密码)

      ssh -i <下载的与云服务器关联的私钥的绝对路径> <username>@<hostname or IP address>
      
    • 示例

      wujunnan@wujunnandeMacBook-Pro ~ % ssh -i /Users/wujunnan/develop/important/wujunnan.pem root@wujunnan.net
      Last login: Fri Nov 20 23:52:28 2020 from 120.244.160.103
      
连接中出现的问题
  • Mac远程连接窗口会经常中断,出现send disconnect: Broken pipe

    原理:

    为了保证服务器的资源不被浪费,系统会对SSH的连接定期进行自动回收(即自动断开),其回收原则为:一个连接在规定的限制时间内没有数据传输就认定为超时,然后就会主动断开连接。 基于这个原则,如果想要保持连接,只需要在超时前发送一个空数据包即可。

    编辑sudo vim /etc/ssh/ssh_config添加以下设置可解决这个问题

    # 断开时重试连接的次数
    ServerAliveCountMax 5
     
    # 每隔5秒自动发送一个空的请求以保持连接
    ServerAliveInterval 5
    

    修改之后需要重启远程主机,使配置生效

防火墙

腾讯云安全组

安全组是一种虚拟防火墙,可以通过配置安全组规则,允许或禁止安全组内的实例的出流量和入流量。

新建安全组时,可以选择腾讯云提供的两种安全组模板:

  • 放通全部端口模板:将会放通所有出入站流量。
  • 放通常用端口模板:将会放通 TCP 22端口(Linux SSH 登录),80、443端口(Web 服务),3389端口(Windows 远程登录)、 ICMP 协议(Ping)、放通内网。

所以我们可以使用腾讯云组的虚拟防火墙或者在centOS中自己开启防火墙

在这里插入图片描述

Reference

系统防火墙

开启防火墙后,会拦截所有端口,并设置一些白名单,我们需要把我们使用的端口加入防护墙白名单

相关命令

  • 查看防火墙状态

    systemctl status firewalld
    

    下面表示未开启防火墙

    Active: inactive (dead)
    
  • 开启防火墙

    systemctl start firewalld
    
  • 开启端口

    firewall-cmd --permanent --zone=public --add-port=8080/tcp --permanent
    
  • 查看端口

    firewall-cmd --permanent --query-port=8080/tcp
    

    提示yes,即查询成功

  • 重启防火墙

    firewall-cmd --reload
    
  • 查看已经开放的端口

    firewall-cmd --list-ports 
    
  • 关闭防火墙端口

    firewall-cmd --zone=public --remove-port=3338/tcp --permanent
    
  • 设置防火墙开机自动启动

    systemctl enable firewalld
    
  • 开机禁用防火墙

    systemctl disable firewalld
    

上传文件到远程服务器

scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令

上传命令
scp local_file remote_ip:remote_folder 

默认使用22端口

上传到哪里

本地安装的软件和其他文件放在这里

/usr/local
实际使用
  • 上传Tomcat压缩包(不写目的目录会默认放在roo

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值