第一天:
先免费试用15天的云服务器。
选择的是CenterOS 7系统,系统默认安装的有python 2.7.5
花2块钱买了个.club的域名
身份证没在身边,无法实名认证
使用Mac的终端登录服务器成功
使用腾讯云推荐的网页登录也成功,其实登录成功后也是linux命令。
登录:ssh
登出:exit
查看当前默认配置:systemctl get-default
graphical.target 表示开机将默认进入图形界面
multi-user.target 表示开机将默认进入文本界面
设置开机进入文本界面:systemctl set-default multi-user.target
查看主机可安装环境:yum grouplist
第二天:
为CenterOS7安装桌面环境
首先执行一句防止系统文件被修改 chattr +i /etc/resolv.conf
然后安装tigervnc(安装后,可以在电脑或者手机上安装VNC Viewer来连接云主机桌面)
yum install -y tigervnc tigervnc-server
-y
是自动安装
安装Gnome,安装之前用yum grouplist查看是否支持
yum groupinstall GNOME Desktop
这一步安装需要点时间,中间有提示直接输入y 然后回车,直到出现complete/完毕
VCN的命令
usage: vncserver [:] [-name ] [-depth ]
[-geometry x]
[-pixelformat rgbNNN|bgrNNN]
[-fp ]
[-fg]
[-autokill]
...
vncserver -kill
vncserver -list
启动vnc服务 vncserver
第一次执行会提示输入密码,然后再验证输入一次回车,
然后会有个:Would you like to enter a view-only password (y/n)? n
vnc服务端就算搭建好了!
在手机或者电脑上下载vnc客户端
接下来我在Mac上下载了一个VNC Viewer
输入IP:5901连接
然后输入密码就可以看到你的服务器界面了!
我显示出来的桌面比较模糊,可配置画面质量。
但是有个问题,就是汉字显示出来是乱码,英文显示正常的。
因为我云主机上的locale语言是中文,默认安装的系统不知道为啥是中文,但是我重装系统后就变成英文了。
在中文环境下安装gnome,gnome默认语言也是中文,就是在终端ls查看,出来的是 视频,文档之类的中文文件夹名字。
重装系统后,默认英文,在英文环境下,安装gnome桌面后,在终端ls查看,出来的是英文的文件夹。
查看gnome版本 gnome-shell --version
output GNOME Shell 3.25.4
最后搞了一下午,也没把gnome的中文调出来,中间重装系统装了2次。遇到各种问题。
最后回家我把域名实名认证了下。
第三天:
竟然有LANMP这个东西,真的是很方便啊。
腾讯云开发者实验室-CentOS快速搭建PHP环境部署 :
https://cloud.tencent.com/developer/labs/lab/10397
// 执行lanmp shell脚本之后,选择需要安装那些软件
sh lanmp.sh
Select Install
1 LAMP (apache + php + mysql + zend + pureftpd + phpmyadmin)
2 LNMP (nginx + php + mysql + zend + pureftpd + phpmyadmin)
3 LNAMP (nginx + apache + php + mysql + zend + pureftpd + phpmyadmin)
4 install all service
5 don't install is now
之后我在实验室里的主机上实验了一把。
稍微在腾讯实验室里学习了其它几个实验,有其它事情,今天就到此了。
第四天:
// 查看系统的版本
[root@VM_0_17_centos ~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
现在centos7.2,按照昨天发的链接,安装的lanmp_laster,但是会在安装mySQL的时候有问题,老是报错。
最后,我看实验室的推荐CentOS版本是6.9,我就把系统重装到6.9了。
然后没有再安装tiger-vnc和桌面Gnome。暂时先不安装,今天任务是写一个接口,能调用就行。
然后安装LNMP,就是选择的2安装的,安装过程花了很长时间,估计有50分钟左右。最后一次安装成功。
我又把自己买的域名配置上,到腾讯云-域名服务-我的域名中,点击解析,添加自己的云主机ip地址就行。
环境安好了,问题是怎么开始写API(Application Programming Interface)呢?
这时,我又发现了一个好东西,php的一个快速、简单、可扩展的框架 ---- Flight。中文版教程。
然后安装这个Flight需要使用Composer,[中文版教程],(https://docs.phpcomposer.com/00-intro.html)感觉好麻烦啊,先安装Composer吧。
按官网上安装,却安装失败。
[root@VM_0_17_centos ~]# curl -sS https://getcomposer.org/installer | php
-bash: php: command not found
curl: (23) Failed writing body (0 != 16133)
这TM的php怎么找不到了。
在终端中查看php,发现找不到php命令
[root@VM_0_17_centos bin]# php -v
-bash: php: command not found
[root@VM_0_17_centos bin]#
[root@VM_0_17_centos bin]# which php
/usr/bin/which: no php in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/www/wdlinux/mysql/bin:/root/bin)
最后费了九牛二虎之洪荒之力才找到php安装到哪了。作为小白不容易啊。
[root@VM_0_17_centos bin]# pwd
/www/wdlinux/phps/55/bin
[root@VM_0_17_centos bin]# ls
pear peardev pecl phar phar.phar php php-cgi php-config php-fpm phpize
[root@VM_0_17_centos bin]#
[root@VM_0_17_centos bin]# ./php -v
PHP 5.5.38 (cli) (built: Aug 23 2018 11:00:49)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Technologies
找到php了,怎么才能在终端中使用php命令呢,参考方法。
方法:修改/etc/profile
文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/www/wdlinux/phps/55/bin
export PATH
最后:执行 命令source /etc/profile
或 执行点命令./profile
使其修改生效,执行完可通过echo $PATH
命令查看是否添加成功。
[root@VM_0_17_centos etc]# vi /etc/profile
[root@VM_0_17_centos ~]# source /etc/profile
[root@VM_0_17_centos ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/www/wdlinux/mysql/bin:/root/bin:/www/wdlinux/mysql/bin:/www/wdlinux/phps/55/bin:/www/wdlinux/mysql/bin:/www/wdlinux/phps/55/bin
[root@VM_0_17_centos ~]#
[root@VM_0_17_centos ~]# php -v
PHP 5.5.38 (cli) (built: Aug 23 2018 11:00:49)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Technologies
[root@VM_0_17_centos ~]#
搞定php了,接着安装Composer
[root@VM_0_17_centos ~]# curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...
Composer (version 1.7.2) successfully installed to: /root/composer.phar
Use it: php composer.phar
[root@VM_0_17_centos ~]# mv composer.phar /usr/local/bin/composer
OK,Composer已经安装成功了,安装Composer就是为了安装Flight的,接着走吧。
发现这个比较慢,第一次我直接中断了,第二次稍微等了几分钟,就显示信息了。
然后根据Flight的教程配置Nginx服务器。
这个地方有坑啊,我在这搞了好长时间,主要是什么都不懂。
安装LNMP后,我的nginx的配置文件在/www/wdlinux/nginx-1.8.1/conf/nginx.conf
或者 /www/wdlinux/nginx/conf/nginx.conf
其实是用的一个。但是这个nginx.conf中又引用了vhost/*.conf中的配置文件,其中server就是在vhost文件夹中00000.default.conf文件中。
后面的server是我自己瞎搞的时候加的。
关于nginx的配置文件中字段意思,我也不太懂,也看了好久。
原来使用LNMP安装后,nginx+php这个组合已经配置好了。
我在/www/web/default/
中安装Flight后,
flight会自动创建一个index.php的文件。
[root@VM_0_17_centos flight]# ls
composer.json flight index.php LICENSE README.md tests VERSION
[root@VM_0_17_centos flight]# pwd
/www/web/default/vendor/mikecao/flight
这时,只要把nginx的配置文件中的root改到flight里就行。
修改nginx配置后,需要重新加载配置:
/www/wdlinux/nginx/sbin/nginx -s reload
然后请求自己的域名,默认实用的就是80端口。
好了,腾讯云服务器第一阶段就算圆满成功了。
几个常用的nginx命令
要使用nginx命令,需要先找到nginx的安装目录。我的安装在/www/wdlinux/nginx
,然后要使用nginx命令时,就用/www/wdlinux/nginx/sbin/nginx -参数
-c :使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-s reload 重载 用于修改配置后重载
-s stop 停止
#启动nginx
/www/wdlinux/nginx/sbin/nginx -c /www/wdlinux/nginx/conf/nginx.conf
#查看进程
[root@VM_0_17_centos conf]# ps -ef | grep nginx
root 21015 1 0 14:55 ? 00:00:00 nginx: master process /www/wdlinux/nginx/sbin/nginx -c /www/wdlinux/nginx/conf/nginx.conf
www 24296 21015 0 15:57 ? 00:00:00 nginx: worker process
www 24297 21015 0 15:57 ? 00:00:00 nginx: worker process
www 24298 21015 0 15:57 ? 00:00:00 nginx: worker process
root 24343 18101 0 15:58 pts/1 00:00:00 grep nginx
问题总结:
1、重装系统后无法通过ssh登录问题
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:2wtBrkpBU/skUpavzjVs8n2EOo4VeQiDmeCU2wQ3CsU.
Please contact your system administrator.
Add correct host key in /Users/xulong/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/xulong/.ssh/known_hosts:3
原因是RSA key不匹配
根据提示查看本机/home/user/.ssh/目录下,查看有如下3只文件:
id_rsa
id_rsa.pub
known_hosts
从文件名及查看文件内容可以看出:
1,前两个是用ssh-keygen命令生成的私钥和公钥;
2,known_hosts是ssh访问过的PC的公钥记录,当下次访问相同PC时ssh会核对公钥,如果不同则发出警告,避免受到DNS Hijack攻击;
从我们遇到的错误看,明显是known_hosts出了问题。
解决办法:删除/home/user/.ssh/目录下的known_hosts文件中对应的host记录
简单粗暴,如果想快速解决这个问题。
2、启动VNC后,连接VNC无法应:Timed out waiting for a response from the host computer
这个是被 linux 自带防火墙阻挡了。在 linux 防火墙中添加 5900 到 5903 端口即可。
解决方法:sudo /sbin/iptables -I INPUT 1 -p TCP --dport 5901:5910 -j ACCEPT或者直接修改文件/etc/sysconfig/iptables文件,添加一行:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901:5910 -j ACCEPT
重启iptables服务:
service iptables restart
如果没有iptables.service文件,使用yum安装一下:yum install iptables-services
还是不行,最后我把云主机的安全组的端口改了下(开放5901端口),才好。
3、 VNC Viewer连接后,桌面色彩模糊
我先开始还以为是网速的问题,但是发现这个对网速估计比较高。一直显示不来清晰。后来找到了设置的地方,在VNCViewer中,选中共享的桌面,右键选择PRoperties->Options->Picture quality
4、 failed to open stream: Permission denied in /www/web/default/index.php
按Flight教程,index.php中require flight,因为第一次我把Flight安装在根目录root里面了,这个路径 (/root/vendor/mikecao/flight/flight/Flight.php)
,导致访问的时候权限不够。然后我就在/www/web/default/
下下载了一个新的Flight。
2018/08/28 16:26:59 [error] 25721#0: *103 FastCGI sent in stderr: "PHP message: PHP Warning: require(/root/vendor/mikecao/flight/flight/Flight.php): failed to open stream: Permission denied in /www/web/default/index.php on line 2
PHP message: PHP Fatal error: require(): Failed opening required '/root/vendor/mikecao/flight/flight/Flight.php' (include_path='.:/www/wdlinux/phps/55/lib/php') in /www/web/default/index.php on line 2" while reading response header from upstream, client: 58.132.214.66, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-55-cgi.sock:", host: "www.loongcn.club"