作为一家创业公司,盼客科技的Y米 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
2、检查是否安装过Mysql
service mysqld start
如果没有安装,请按照下面的步骤安装上这些软件,
四、安装Apache、PHP、Mysql
1、安装apache
[root@localhost ~]# yum -y install httpd
安装提示如下:
Installed:
httpd.x86_64 0:2.4.6-40.el7.centos.4
Dependency Installed:
apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7
httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 mailcap.noarch 0: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
Dependency Installed:
libzip.x86_64 0:0.10.1-8.el7 php-cli.x86_64 0: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
Dependency Updated:
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
Dependency Installed:
php-pdo.x86_64 0:5.4.16-36.3.el7_2
Complete!
此时的提示即表示php-mysql安装成功了!
五、安装基本常用扩展包
1、安装Apache扩展包
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
2、安装PHP扩展包
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
3、安装Mysql扩展包
yum -y install 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服务
service httpd restart
七、配置Mysql (MariaDB)
初次安装mysql是没有密码的,我们要设置密码,mysql的默认账户为root
设置 MySQL 数据 root 账户的密码:
[root@localhost ~]# mysql_secure_installation
当出现如下提示时候直接按回车:
Enter current password for root
出现如下再次回车:
Set root password? [Y/n]
出现如下提示输入你需要设置的密码,这里输入了root,输入密码是不显示的,回车后再输入一次确认:
New password:
接下来还会有四个确认,分别是:
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
八、配置阿里云环境
配置过程看上去都配好了,很多初学者会发现,配置好的Web欢迎页面打不开,很多文章都提到如下三种解决方案:
1 停止防火墙服务
[root@mycentos shell]# systemctl stop firewalld.service
2 /etc/init.d/iptables stop 关闭防火墙
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
yum install phpmyadmin php-mcrypt
phpMyAdmin 的默认安装目录是 /usr/share/phpMyAdmin,你如果觉得配置数据库很繁琐,可以用Xftp 5直接把这个文件夹移到你的Web/Html目录下,开启正常的数据库配置和访问。