腾讯云主机装机指南(Linux版)

文章更新:

  20161019 初次成文

问题提出:

  在写这篇文章之前,小苏本身有一台腾讯云的学生主机,但是因为域名没有备案的原因,小苏一直没有把网站部署在腾讯云上。最近小苏比较有时间,于是就在腾讯云申请了域名备案。在写这篇文章的时候,小苏已经通过了域名备案初审在等待幕布到货了。

  根据管局要求,域名备案期间要求网站不能正常访问才可以通过备案,所以这篇文章可能是mlapp.cn这个域名在备案之前的最后一篇文章了。

  于是写篇文章来纪念一下(这个理由也太牵强了吧)。

解决方案:

  在这篇文章中,我们将从重装系统开始,在Centos上部署LNMP环境并安装amh控制面板。

  不知道amh为何物?请点击这里

  登陆腾讯云的云主机控制台,选中你想要配置的腾讯云主机,选择"重装系统" - "公共镜像" - "Centos6.5 64位",耐心等待系统重装完成后,使用ssh方式登录进服务器执行以下操作:

yum install -y wget #安装wget yum install -y screen #安装screen

  这里不得不吐槽,腾讯云的yum源有问题。所以我们需要手动更换可以使用yum源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak #备份默认的yum源(默认源本来就就有问题,所以在腾讯云上这一步几乎没有什么卵用) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo #更换默认的yum源为阿里云镜像源

  同时,腾讯云的EPEL源也有问题,所以我们还需要修改EPEL源:

cp /etc/yum.repos.d/CentOS-Epel.repo /etc/yum.repos.d/CentOS-Epel.repo.bak #备份默认EPEL源(虽然在腾讯云上这一步也没有什么卵用) vim /etc/yum.repos.d/CentOS-Epel.repo #编辑EPEL源文件

  执行以上命令之后,我们将使用vim编辑器编辑EPEL源配置文件,键入按键i后可以进入编辑模式,使用退格键清除文件全部内容之后,我们在vim编辑器中粘贴以下内容:

[epel]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch
enabled=1
gpgcheck=0

  粘贴完成之后,键盘键入:wq!强制保存文件并退出vim编辑器。

  这里不得不再次吐槽,在腾讯云上,我在ssh界面使用编辑器是有问题的,不论是vi还是vim,都不能正常编辑文件(但是装其他系统就没有这个问题)。所以小苏推荐大家使用sftp登陆云主机,找到并编辑/etc/yum.repos.d/CentOS-Epel.repo这个文件,清除文件所有内容并粘贴以上内容,保存并上传文件,和先前我们用vim编辑这个文件的操作实质上是一样的。

  做完以上操作之后,我们需要执行makecache生成缓存:

yum clean all yum makecache

  至此,腾讯云换源操作完成。接下来我们进行amh控制面板的安装:

screen -S amh #新建一个名为amh的screen,当ssh意外断开时可以恢复原来的会话 cd ~ rm -rf amh* #清除可能残留的amh文件

  做完以上准备工作我们就可以安装amh4.2了。amh4.2是一款免费的主机控制面板(amh从5.0版本开始收费,4.2是amh的最后一个免费版本),管理员可以在web端对主机进行操作,无需在终端敲代码进行繁复的命令行操作。

  此次安装中,小苏使用的是amh4.2彩虹修改版。详情请看:http://blog.cccyun.cc/?post=233

  同时,小苏也推荐大家使用amh4.2麦葱修改版:https://maicong.me/t/145

  当然,你也可以使用amh4.2官方的一键安装脚本,详情请看:https://amh.sh/install.htm

  彩虹修改版提供了两个版本,小苏推荐大家使用支持php7.0的版本。我们继续在ssh中执行:

wget http://api.cccyun.cc/amh.sh && chmod 775 amh.sh && ./amh.sh 2>&1 | tee amh.log #获取并执行amh4.2一键安装脚本(php7.0)

  执行脚本后,终端将返回:

[Notice] Confirm Install/Uninstall AMH? please select: (1~3)
1) Install AMH 4.2
2) Uninstall AMH 4.2
3) Exit

  这个提示为询问用户是要安装amh还是卸载amh,由于我们是要安装amh,所以我们键入1并回车:

[OK] You Selected: Install AMH 4.2
[Error] empty server ip.
[Notice] Please input server ip:

  这个提示为询问此云主机的公网IP,我们将云主机控制台的云主机公网IP键入,并回车(这里以公网IP为123.123.123.123做示例):

[OK] Your server ip is:
123.123.123.123
[Notice] Please input MySQL password:

  此提示为要求用户设置一个MySQL数据库密码,建议设置得复杂一些(这里以MySQL密码设置为mysqlpassword做示例):

[OK] Your MySQL password is:
mysqlpassword
[Notice] Please input AMH password:

  此提示为要求用户设置amh控制面板的登陆密码,同样不要设置得太简单(这里以amhpassword做示例):

[OK] Your AMH password is:
amhpassword

  回车之后amh就开始安装了。由于各模块为编译安装,所以安装时间较长(大约20~40分钟)。当你看到终端返回以下结果时代表amh安装成功:

[AMH] Congratulations, AMH 4.2 install completed.
AMH Management: http://123.123.123.123:8888
User:admin
Password:amhpassword
MySQL Password:mysqlpassword

  安装完成后你可以通过访问http://公网IP:8888进入amh控制面板,默认的用户名为admin,密码为安装最开始时你输入的控制面板密码。

  虽然在之前我们已经做了大量的准备工作,但是在安装过程中,还是不可避免地出现一些问题,当安装过程中出现以下问题时,你可以采取以下解决方法:

  1.安装过程中,在Nginx部分可能会出现错误(在安装成功尝试启动nginx时可能也会报错):

Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

  这个错误代表80端口被其他程序占用,此错误出现时,nginx不会正常启动,所以也无法通过访问http://ip:8888进入控制面板。

  为了解决这个问题,我们需要进入amh的nginx命令行控制选项,在终端中执行:

amh nginx

  终端返回:

[AMH] Nginx Management please select: (1~4)
1) start
2) stop
3) restart
4) reload
5) exit

  我们先键入2来停止nginx(停止前nginx应该为未启动状态),然后执行:

fuser -k 80/tcp

  停止占用80端口的程序,执行成功之后,再次执行amh nginx,键入1启动nginx,当终端提示:[OK] Nginx start 时表示nginx已成功启动,但是小苏还是建议重启云主机然后访问amh控制面板来测试一下是否能够成功打开页面(不出意外的话应该是没问题的)。

  2.安装过程中,ssh连接意外中断:   由于amh4.2为编译安装,且只有编译安装这一种方式(在amh5.x版本上,是可以免编译安装amh的,安装速度很快,奈何收费),所以安装时间比较长(20~40分钟)。在等待安装的过程中,ssh必须一直处于连接状态,如果ssh连接意外中断,安装过程也会随之中止。但如果你是按照小苏的流程走下来的,由于我们在安装amh之前已经安装了screen程序,并且我们的整个安装过程都在screen中进行,所以即使ssh连接断开,会话还是会在screen中继续进行的,那么如何恢复断开的会话呢?很简单,只需要在终端中执行:

screen -r

  即可恢复原来的会话。

参考资料:

将Centos的yum源更换为国内的阿里云源 CentOS使用EPEL源 自用的amh4.2优化版,已升级到php7 - 彩虹博客 AMH 4.2 – 麦葱修改版 [20150526更新] - 麦田一根葱 screen命令 - Linux命令大全 fuser命令 - Linux命令大全

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Linux系统下的ssh使用(依据个人经验总结)

对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使用ssh的经验...

7017
来自专栏zhisheng

SpringBoot RabbitMQ 整合使用

前提 上次写了篇文章,《SpringBoot Kafka 整合使用》,阅读量还挺高的,于是想想还是把其他几种 MQ 也和 SpringBoot 整合使用下。 下...

3139
来自专栏魏艾斯博客www.vpsss.net

军哥 lnmp1.4 测试版一键脚本安装及功能体验

1725
来自专栏坚毅的PHP

zookeeper学习系列:一、入门

基本是 http://zookeeper.apache.org/doc/trunk/zookeeperOver.html 的翻译,应用场景摘抄:http://w...

4746
来自专栏Java帮帮-微信公众号-技术文章全总结

web服务器与HTTP协议

Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 l Internet上供外界访问的Web资源分为:...

6456
来自专栏散尽浮华

Centos 6.9下部署Oracle 11G数据库环境的操作记录

操作系统:Centos6.9(64Bit) Oracle:11g 、11.2.0.4.0版本 Ip地址:172.16.220.139 废话不多说了,下面记录安装...

2619
来自专栏容器云生态

Docker1.12尝试

前言:在docker1.12中默认增加了swarm mode 编排功能,并且官方支持更多的插件来进行docker的网路和外接存储插件,不过目前测试swarm m...

47210
来自专栏Felix的技术分享

Stetho的通信原理

3133
来自专栏张戈的专栏

如何确保NFS服务安全

上一篇博文《Redhat 设置 NFS 挂载的简单步骤》,其中摘录了一段 nfs 中 fuser 的使用,索性将其全部发出,以供参考。 ---- 对于 NFS ...

80812
来自专栏JAVA高级架构

详解 Tomcat 的连接数与线程池

前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面的文章 详...

9829

扫码关注云+社区

领取腾讯云代金券