在腾讯云平台进行学生认证后,每个月都有64块的优惠券到账,最低配的云主机只需要65块,换言之,一个月只要1块钱就能租到云主机,还是挺爽的,今天花了点时间配置云服务器(我不会说我是带着电脑上课并且在玩这个的Q^Q),总结一下配置的基本步骤吧(其实很多我也不是很懂)

0X00:

连接到云服务器:

我的电脑系统是win7,而且买的是CentOS的,所以这里只说本地windows下怎么配置CentOS云服务器:

腾讯官方文档给出的是用SecureCRT、putty来登录,个人觉得xshell可以完爆这两货。。。
xshell下载地址

打开xshell,新建服务器连接,如下图所示:
建立连接1

名称随你喜欢,填个有意义又简单的最好~
主机填写云主机的公网IP
端口号默认为22
说明随你喜欢,跟名称的说法一样~

进行连接,会提示你输入用户名,腾讯云主机的主机管理用户名如下所示:

SUSE/CentOS/Debian:root
Windows:Administrator
ubuntu:ubuntu 

密码的话,在你购买的订单中是有初始密码的,最好进行密码重置:
进入腾讯云中心,进入管理中心,点击云主机的更多进行密码重置:
重置密码

注意!要先将云主机关机才能重置密码

进行连接1

在你下订单后购买到云主机后,可以将云主机私钥导入到你的电脑中,这个是建立连接的关键
点击浏览->文件,选择你的私钥,下面密码填你设置的密码,点击确定,进行连接,看到类似下图,说明连接成功~
连接成功

0x01

进行云服务器的数据盘相关操作:

数据盘信息:
运行以下命令可以查看数据盘相关信息,包括数据盘大小,被占用的空间以及剩余空间等等

# fdisk -l
# df -h 

数据盘分区:
官方文档说是按以下命令来进行数据盘分区:

# fdisk /dev/xvdbs

嗯,我试了下这个命令,结果给我提示这个:
Unable to open /dev/xvdb

查了下,发现新的CentOS系统应该按这样的命令去分区:

# fdisk /dev/vdbs

执行完这个命令以后,依次执行以下命令:

n         新建分区
p         进行主分区
1         使用第一个主分区
Enter
Enter     这里的两次Enter都是选择默认配置
wq        保存并退出

此时再输入fdisk -l如果看到/dev/vdbs/dev/vdal,
则说明分区成功
当然,分区可以创建多个,具体看你喜欢,不过要谨慎!

格式化新分区:
格式化新分区是为了后面能在系统上安装软件以及进行相关必要的操作:

mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4

Windows下的文件系统有Fat32、NTFS,CentOS使用的文件系统为ext。之前CentOS5版本使用ext3作为默认的文件系统,而CentOS6使用ext4作为默认的文件系统,我的是CentOS6.5的,当然是ext4啦~

mkfs.ext4 /dev/vdb1

挂载新分区:
依旧给出代码(官方文档给出的):

# mkdir /mydata                    创建mydata目录
# mount /dev/xvdb1 /mydata      手动挂载新分区

再用df -h查看,如果看到Filesystem/dev/vdb1/dev/vda1的话就说明挂载新分区成功~

添加分区信息(就是保存你的挂载):
这个操作是为了让主机在重启或关机后开机都能进行自动挂载,免得你每次手动挂载,这里按照官方文档给出的命令就行了~

echo '/dev/xvdb1 /mydata ext3 defaults 0 0' >> /etc/fstab  添加命令分区信息
cat /etc/fstab  查看是否添加成功

0x02

在云服务器进行软件安装:

腾讯云服务器提供了yum下载源,即我们可以通过yum在云服务器中下载东西,很简单的命令就可以安装:

# yum install mysql mysql-server nginx php php-fpm

y确定后进行安装,出现Complete即安装成功

安装完软件后,我们可以查看软件相关信息:

# rpm -ql nginx       查看安装目录
# rpm -q nginx         查看安装版本

0x03

云服务器环境配置:

按照官方文档,我们来配置nginx和php:
配置nginx:
我们先启动nginx服务先

# service nginx start

启动完后访问公网IP,如果能访问到,说明nginx服务启动成功

配置php:
同样启动php服务先

# service php-fpm start

查看php-fpm默认配置

# cat /etc/php-fpm.d/www.conf |grep -i 'listen ='


如果看到listen = 127.0.0.1:9000,说明监听端口为9000,
我们要将php解析的请求全部转发到127.0.0.1:9000

修改nginx配置:

# vim /etc/nginx/conf.d/default.conf

按官方文档的修改方式来:

server {
      listen       80;
      root   /usr/share/nginx/html;
      server_name  localhost;
  #charset koi8-r;
  #access_log  /var/log/nginx/log/host.access.log  main;
      location / {
          index  index.html index.htm;
      }
  #error_page  404              /404.html;
  # redirect server error pages to the static page /50x.html
  #
      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   /usr/share/nginx/html;
      }
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
  #
# location ~ \.php$ {
  # proxy_pass   http://127.0.0.1;
  # }
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
      location ~ \.php$ {
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index   index.php;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          include        fastcgi_params;
      }
  # deny access to .htaccess files, if Apache's document root
  # concurs with nginx's one
  #
  # location ~ /\.ht {
  #    deny  all;
  # }
}

修改完后按ESC,然后:wq,保存修改

注意!要加:,不然是无法输的,我早上因为这个弄惨了QAQ

然后重启nginx服务

# service nginx restart

验证配置:

# vim /usr/share/nginx/html/index.php 

php的内容配置:

<?php
    echo "<title>Test Page</title>";
    echo "hello world";
?>

接下来访问公网IP/index.php,看到helloworld就说明环境配置成功了

0x04

部署代码到云服务器中:

一般我们要把代码放到云服务器中,就要通过FTP上传来放,
所以我们首先要在云服务器配置FTP服务,在腾讯云上可以直接
用yum来装vsftpd配置FTP:

# yum install vsftpd

然后是配置vsftpd

# vim /etc/vsftpd/vsftpd.conf

只要将下图的这些选项都搞好就行了,如果你要取消匿名登录使用ftp服务,那么要将vsftpd.conf中的anonymous_enable=YES注释掉或者改为anonymous_enable=NO

local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES                //anon的这三个是要你去手动取消注释的,其他的默认都有了
anon_mkdir_write_enable=YES            
anon_umask=022                        
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

你要如何知道这个配置呢?可以通过以下代码进行读取,经过前面的
配置我们也能猜到是要用cat这个命令了:

# cat /etc/vsftpd/vsftpd.conf |grep ^[^#]    

配置了FTP服务后,我们要建立FTP用户名和密码,这是我们要建立FTP连接上传文件要用到的登录用户名和密码,

建立用户名:

# useradd -d /home/megiki -s /sbin/nologin megiki       megiki是我ftp的用户名,所以将你的用户名替换掉megiki就行了

给对应用户设置密码:

# passwd megiki     这里同样替换你的ftp用户名

注意!,这里会要你输入密码,并且重新输入,而你的输入是看不到的,所以你运行了上述命令后直接输入密码按Enter,然后再输入一次密码按Enter就行了,密码不要输错

接下来就是修改pam文件了,修改这个文件的目的是为了真正让我们设置的ftp用户能连接到ftp服务器:

# vim /etc/pam.d/vsftpd

这里按官方文档的修改方式:

auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed 
auth required /lib64/security/pam_unix.so shadow nullok 
auth required /lib64/security/pam_shells.so 
account required /lib64/security/pam_unix.so 
session required /lib64/security/pam_unix.so 

修改完后确认:

# cat /etc/pam.d/vsftpd #%PAM-1.0 

下面这个是你修改后产生的结果:

auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed 
auth required /lib64/security/pam_unix.so shadow nullok 
auth required /lib64/security/pam_shells.so 
account required /lib64/security/pam_unix.so 
session required /lib64/security/pam_unix.so

事实上,我在配置的时候发现还是和官方文档的说明有很大差别的,这个是我修改之前的样子:
修改之前

这是我修改之后的样子:
修改之后

如果你在按我上面所说的方法配置,遇到了pam文件不一样的问题,也可以按我上面这两个图来配置(注意把里面的ftp用户名改为你的)

这样云服务器的ftp服务算是完成了,我们可以用FTP上传工具去上传我们的
代码了,这里我们用官网说的FileZilla进行FTP上传,我们先建立一个新站点,以后直接连接这个站点就行了~
新建站点

主机:你的公网IP
端口:用21端口
登录类型:一般
用户名:填写你设置的FTP用户
密码:同上

然后我们在/usr/share/nginx/html这个目录下进行代码文件的传输,
这样就把我们的代码部署到云服务器上了,比如你把text.html传到这个目录下,然后我们访问你的公网IP/text.html,内容就是你上传的text.html

上传目录

这个说一个问题啊,可能我们按上面的步骤进行FTP传输时可能一个都传输不了,这时你可以查看/usr/share/nginx/html这个文件的文件权限,如果是755,说明公共组是不能进行FTP上传的,这时候,我们可以在xshell5上进行权限的修改:

# chmod -R 777 /usr/share/nginx/html

将权限改为777,然后公共组就拥有了写入的功能,这时可以FTP传输了

当然,如果你觉得这样不安全(事实上是确实有些不安全的),你可以用git的方式(简单又粗暴),用git clone的方式进行传输,你可以把你上传的代码放在你的github或者coding的私有库上,再传输给你的服务器,具体怎么做这里就不说了(如果你熟悉git操作的话你应该懂的,不懂git为何物的话请戳这里)

0x05

结尾:

好了,关于云服务器的配置就说到这里(好像写得有些太长了,其实我个人也不喜欢太长的博客,太长的博客我基本都没有认真看完的QAQ),这个只是新手级别的配置,云服务器是可以让你玩年系列的东西,特别是你在实际项目中的运用,有时间我会继续研究云服务器这个东西的(顺带研究nginx这个东西)

玩这个东西花了我一早上的时间,早上的汇编和汇编实验课我都在干我自己的
(这里说一句,真的,大学那些计算机的课真是纯理论课,没有什么实际意义,老师讲的又慢,硬是能把20分钟的东西用两节课来讲。。。),这段时间我报名了’校园杯’,截止日期是4月23日,也没什么时间给我浪了,所以关于云服务器的探索就到这里,等我搞完这个比赛后再折腾这些(话说校园杯过了后还有CTF,挑战杯QAQ)。