腾讯云主机搭建NginX服务器

第一天:

先免费试用15天的云服务器。
选择的是CenterOS 7系统,系统默认安装的有python 2.7.5

花2块钱买了个.club的域名

身份证没在身边,无法实名认证

使用Mac的终端登录服务器成功

使用腾讯云推荐的网页登录也成功,其实登录成功后也是linux命令。

登录:ssh <username>@<hostname or ip address>
登出: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 [:<number>] [-name <desktop-name>] [-depth <depth>]
                 [-geometry <width>x<height>]
                 [-pixelformat rgbNNN|bgrNNN]
                 [-fp <font-path>]
                 [-fg]
                 [-autokill]
                 <Xvnc-options>...

       vncserver -kill <X-display>

       vncserver -list
安装Gnome桌面.png

启动vnc服务 vncserver
第一次执行会提示输入密码,然后再验证输入一次回车,
然后会有个:Would you like to enter a view-only password (y/n)? n
vnc服务端就算搭建好了!

在手机或者电脑上下载vnc客户端
接下来我在Mac上下载了一个VNC Viewer
输入IP:5901连接
然后输入密码就可以看到你的服务器界面了!

我显示出来的桌面比较模糊,可配置画面质量。

重启后桌面显示.png
清晰的时候桌面.png
CentOS英文环境.png

但是有个问题,就是汉字显示出来是乱码,英文显示正常的。
因为我云主机上的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的时候有问题,老是报错。

貌似还不支持7以上.png

最后,我看实验室的推荐CentOS版本是6.9,我就把系统重装到6.9了

然后没有再安装tiger-vnc和桌面Gnome。暂时先不安装,今天任务是写一个接口,能调用就行。😄

然后安装LNMP,就是选择的2安装的,安装过程花了很长时间,估计有50分钟左右。最后一次安装成功。

安装服务器环境成功.png

我又把自己买的域名配置上,到腾讯云-域名服务-我的域名中,点击解析,添加自己的云主机ip地址就行。

域名解析.png

环境安好了,问题是怎么开始写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
Composer安装成功.png

OK,Composer已经安装成功了,安装Composer就是为了安装Flight的,接着走吧。

安装flight.png

发现这个比较慢,第一次我直接中断了,第二次稍微等了几分钟,就显示信息了。

然后根据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文件中。

引用Vhost.png

后面的server是我自己瞎搞的时候加的。

vhost中配置.png

关于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里就行。

更改后的conf.png

修改nginx配置后,需要重新加载配置:

/www/wdlinux/nginx/sbin/nginx -s reload

然后请求自己的域名,默认实用的就是80端口。

请求域名.png

好了,腾讯云服务器第一阶段就算圆满成功了。


几个常用的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

vnc显示模糊.png
桌面清晰度设置.png

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"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • 文章图片上传不正常,如需文档,可联系微信:1017429387 目录 1 安装... 4 1.1 配置探针... ...
    Mrhappy_a7eb阅读 6,261评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,050评论 25 707
  • 第三方库的管理 android使用Gradle来管理项目依赖的第三方库iOS上在object-c的项目一般使用co...
    Neo_joke阅读 1,350评论 2 2
  • 夜的岑寂 镂空了一片山月 挪移着谁的梦 也许 心和心 比较过的人 敞亮 宛若这片山月 给了梦 给了这属于两个人的世...
    梦海追月阅读 105评论 0 0