作为一个创业产品,Y米App(游戏陪玩、游戏代练、视频交友、语音交友综合娱乐社交平台)跟大多数早期App一样,选择了阿里云作为公司网站和App的服务端。当时最新版的CentOS是7.2,我们毫不犹豫地选择这个最新的版本。但是对于一个新手来说,在阿里云上遇到了很多坑,完全按照阿里云上的帮助和使用说明,基本上是跑不起来的,特别是最后的一个步骤,是很多技术文章都没提到过的。废话少说,直接来实操的:
一、购买阿里云ECS服务
根据自己的产品对CPU、带宽、内存等硬件配置的要求,选择对应的配置,调试期间我们一般选择1核1G 1M,默认选择40G云盘。这样一个月也就几十块的服务端成本。产品上线后,我们再根据用户导入规模,初期选择了4核8G 10M的配置。
二、准备安装调试环境的工具
Xshell 5比阿里云自己提供的Web命令行工具方便太多了。而Xftp 5又是Xshell 5的最佳搭档,在Xshell 5中配置好阿里云分配的IP地址和账号密码后,能够快速通过Xftp 5管理阿里云服务器上的配置文件和数据,包括后期用到的PhpMyAdmin,也会经常用到Xftp 5。
三、 检查系统环境
1、检查是否安装过Apache
rpm -qa| grep httpd
或者:
apachectl-v
或者:
httpd -v
3、检查是否安装过Mysql
servicemysqld start
如果没有安装,请按照下面的步骤安装上这些软件,
四、安装Apache、PHP、Mysql
1、安装apache
[root@localhost~]# yum -y install httpd
安装提示如下:
Installed:
httpd.x86_64 0:2.4.6-40.el7.centos.4
DependencyInstalled:
apr.x86_64 0:1.4.8-3.el7apr-util.x86_640:1.5.2-6.el7
httpd-tools.x86_640:2.4.6-40.el7.centos.4mailcap.noarch0:2.1.41-2.el7
Complete!
此时的提示即表示Apache安装成功了!
2、安装PHP
[root@localhost~]# yum -y install php
安装提示如下:
Installed:
php.x86_64 0:5.4.16-36.3.el7_2
DependencyInstalled:
libzip.x86_64 0:0.10.1-8.el7php-cli.x86_640:5.4.16-36.3.el7_2
php-common.x86_64 0:5.4.16-36.3.el7_2
Complete!
此时的提示即表示PHP安装成功了!
3、安装php-fpm
[root@localhost~]# yum -y install php-fpm
安装提示如下:
Installed:
php-fpm.x86_64 0:5.4.16-36.3.el7_2
Complete!
此时的提示即表示PHP-fpm安装成功了!
4、安装MySql
[root@localhost~]# yum -y install mysql
安装提示如下:
Installed:
mariadb.x86_64 1:5.5.50-1.el7_2
DependencyUpdated:
mariadb-libs.x86_64 1:5.5.50-1.el7_2
Complete!
此时的提示即表示MySql安装成功了!
7.2版本的Centos已经把mysql更名为mariadb,表示安装成功!
5、安装mysql-server
CentOS
7.2版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了,CentOS7.2配置教程上,大多都是安装mariadb,因为centos7默认将mariadb视作mysql。
安装mariadb
[root@localhost~]# yum install -y mariadb
安装成功!!!
6、安装php-mysql
[root@localhost~]# yum -y install php-mysql
安装提示如下:
Installed:
php-mysql.x86_64 0:5.4.16-36.3.el7_2
DependencyInstalled:
php-pdo.x86_64 0:5.4.16-36.3.el7_2
Complete!
此时的提示即表示php-mysql安装成功了!
五、安装基本常用扩展包
1、安装Apache扩展包
yum -yinstall httpd-manual mod_ssl mod_perl mod_auth_mysql
2、安装PHP扩展包
yum -yinstall php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
3、安装Mysql扩展包
yum -yinstall mysql-connector-odbc mysql-devel libdbi-dbd-mysql
六、配置Apache、mysql开机启动
重启Apache、mysql服务(注意这里和centos6有区别,Cenots7+不能使用6的方式)
systemctl
start httpd.service #启动apache
systemctl
stop httpd.service #停止apache
systemctl
restart httpd.service #重启apache
systemctl
enable httpd.service #设置apache开机启动
mariadb,安装完成以后使用下面的命令开启数据库服务:
#启动MariaDB
[root@localhost~]# systemctl start mariadb.service
#停止MariaDB
[root@localhost~]# systemctl stop mariadb.service
#重启MariaDB
[root@localhost~]# systemctl restart mariadb.service
#设置开机启动
[root@localhost~]# systemctl enable mariadb.service
重启Apache服务
servicehttpd restart
七、配置Mysql(MariaDB)
初次安装mysql是没有密码的,我们要设置密码,mysql的默认账户为root
设置MySQL数据root账户的密码:
[root@localhost~]# mysql_secure_installation
当出现如下提示时候直接按回车:
Entercurrent password for root
出现如下再次回车:
Set rootpassword? [Y/n]
出现如下提示输入你需要设置的密码,这里输入了root,输入密码是不显示的,回车后再输入一次确认:
Newpassword:
接下来还会有四个确认,分别是:
Removeanonymous users? [Y/n]
Disallowroot login remotely? [Y/n]
Removetest database and access to it? [Y/n]
Reloadprivilege tables now? [Y/n]
八、配置阿里云环境
配置过程看上去都配好了,很多初学者会发现,配置好的Web欢迎页面打不开,很多文章都提到如下三种解决方案:
1停止防火墙服务
[root@mycentosshell]# systemctl stop firewalld.service
2 /etc/init.d/iptablesstop关闭防火墙
3开放端口
iptables-A INPUT -p tcp --dport 22 -j ACCEPT
iptables-A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables-A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables-A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
即使上述方案都OK了,但是仍然网页仍然打不开,在Y米App服务器配置过程中,我们发现根源在于阿里云ECS的实例中的安全组规则,默认设置了很多访问的权限限制。通过修改“入方向”和”出方向”的授权策略(允许)、协议类型(全部)、端口范围(-1/-1)、授权对象(0.0.0.0/0)后,欢迎页面就能打开了。
九、安装PhpMyAdmin
yuminstallphpmyadmin php-mcrypt
phpMyAdmin的默认安装目录是/usr/share/phpMyAdmin,你如果觉得配置数据库很繁琐,可以用Xftp 5直接把这个文件夹移到你的Web/Html目录下,开启正常的数据库配置和访问。