阿里云服务器部署LAMP环境

购买阿里云学生机

  1. 使用淘宝号登陆阿里云 app
  2. 点击中间部分校园扶持
  3. 进入新页面点击学生特惠
  4. 选择云服务器
  5. 在选操作系统的时候选 centos,如果没有 centos 系统可以先选 ubuntu(后续更改 centos)
  6. 选好以后购买即可 9.9 元一个月

更换 centos7 系统

  1. 登陆 PC 端阿里云网站(aliyun.com)
  2. 点击右上角控制台,打开新页面点击左侧云服务器 ECS
  3. 点击新的页面左侧的 实例 会显示已经买了的服务器
  4. 点击服务器的实例名称会跳转实例详情页面
  5. 在详情页面点击右上角停止按钮,会有提示,选择停止,确定即可
  6. 停止以后点击下方的更换系统盘,在新的页面选择centos7.2版本
  7. 下边登陆密码记录好,一会儿备用(看下图)。更换以后返回实例列表会显示提供的公共 ip地址用来访问和远程连接

使用 Xshell 连接阿里云服务器

下载 Xshell

下载 Xshell

填入信息后,点击下方 submit 下载

配置连接

打开软件,点击文件,新建(看下图)

  1. ip 填写阿里云的公网 ip
  2. 端口号 22
  3. 点击确定,选择连接
  4. 提示输入用户名和密码
  5. 用户名是 root,密码是更换系统盘时设置的密码
  6. 出现下图即为连接成功

使用 Xftp 连接服务器,用于本机与服务器的文件传输

下载 xftp

下载 xftp

和 Xshell 下载方式相同

配置连接

打开软件,点击文件,新建连接(看下图)

  1. 主机填写阿里云公网 ip
  2. 协议选择 SFTP
  3. 下方登陆输入用户名和密码即可

第二种方法

  1. 在 Xshell 中连接服务器之后点击菜单栏按钮(看下图),也可以自动打开 xftp 用来文件传输。
  2. 比如想在 /var/www/html 中加入本机的 php 文件,就在 xshell 中输入 cd /var/www/html 然后点击第一步中所说的按钮,就会打开 xftp,以及所切换的文件目录(看下图)

安装 apache

安装 apache

1
[root@localhost ~]# yum -y install httpd

安装完会提示安装成功

启动 apache 服务

1
[root@localhost ~]# systemctl start httpd.service

设置 apache 服务开机启动

1
[root@localhost ~]# systemctl enable httpd.service

测试 apache 是否安装成功

打开浏览器输入 ip 地址(公网 ip)出现下图说明安装成功

CentOS7 用的是 Firewall-cmd,CentOS7 之前用的是 iptables 防火墙;要想让外网能访问到 apache 主目录,就需要做以下的操作(阿里云无需做此步骤)

1
2
3
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=https
[root@localhost ~]# firewall-cmd --reload

安装 PHP

安装 epel-release

1
[root@localhost ~]# yum -y install epel-release

获取 PHP7 的 yum 源

1
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装 php7

1
[root@localhost ~]# yum install php70w 出现安装提示 输入 Y 确认即可

安装成功以后输入 php -v 会出现 php 的版本

重启 apache 服务器

1
systemctl restart httpd或者systemctl restart httpd.service

安装 PHP 常用的模块

1
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

查看已安装的模块

1
php -m
安装包         提供的拓展
php70w          mod_php , php70w-zts
php70w-bcmath
php70w-cli      php-cgi, php-pcntl, php-readline
php70w-common   php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml   , php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php70w-dba
php70w-devel
php70w-embedded     php-embedded-devel
php70w-enchant
php70w-fpm
php70w-gd
php70w-imap
php70w-interbase        php_database, php-firebird
php70w-intl
php70w-ldap
php70w-mbstring
php70w-mcrypt
php70w-mysql        php-mysqli, php_database
php70w-mysqlnd      php-mysqli, php_database
php70w-odbc     php-pdo_odbc, php_database
php70w-opcache      php70w-pecl-zendopcache
php70w-pdo      php70w-pdo_sqlite, php70w-sqlite3
php70w-pdo_dblib        php70w-mssql
php70w-pear
php70w-pecl-apcu
php70w-pecl-imagick
php70w-pecl-memcached
php70w-pecl-mongodb
php70w-pecl-redis
php70w-pecl-xdebug
php70w-pgsql        php-pdo_pgsql, php_database
php70w-phpdbg
php70w-process      php-posix, php-sysvmsg, php-sysvsem, php-sysvshm
php70w-pspell
php70w-recode
php70w-snmp
php70w-soap
php70w-tidy
php70w-xml      php-dom, php-domxml, php-wddx, php-xsl
php70w-xmlrpc

譬如你要加装 mysql,那么可以直接,别怀疑就是这么简单:

1
[root@localhost ~]# yum install php70w-mysql

安装完以后重启 apache

1
systemctl restart httpd.service

测试是否能够运行 php

打开 vim /var/www/html/info.php 输入 <?php echo phpinfo(); ?> 保存退出。在本机浏览器输入 10.2.5.17/info.php(ip 换成阿里云 ip) 会出现 php 的信息,以及安装的 PHP 模块儿

安装 Mysql

安装 5.7.x 的 mysql 源

1
yum -y localinstall  http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

检查 mysql 源是否安装成功

1
yum repolist enabled | grep "mysql.*-community.*"

安装 mysql

1
yum -y install mysql-community-server install mysql-community-devel

启动 mysql

1
service mysqld start

检查 mysql 启动是否正常

1
service mysqld status 或者 ps -ef | grep mysql

设置 mysqld 服务开机自启动

1
systemctl enable mysqld.service

检查 mysqld 开机自启动是否设置成功

1
systemctl list-dependencies | grep mysqld

查看 mysql 默认密码

查阅 mysql 的官方文档(文档在上面工具/原料里面有写),查询对应的随机密码, 这里说明一下 mysql5.7 以后的争强了安全机制, 所以使用 yum 安装,启动会系统会自动生成一个随机的密码.
查看 mysql 的随机密码

1
grep 'temporary password' /var/log/mysqld.log

使用查询得到的随机密码在终端登录

1
2
3
mysql -u root -p 更改密码(mysql 文档规定,密码必须包括大小写字母数字加特殊符号>8 位)

ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码';

退出 mysql 客户端,用刚才修改的密码登录确保密码修改成功

1
mysql -uroot -pxxxxx

(看下图)

设置 mysql 远程连接

直接授权(推荐)

1
mysql -u root -p
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限

1
FLUSH PRIVILEGES

navicat 远程连接

如果连接失败请关闭防火墙 输入以下代码

1
2
3
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

;

测试 php 和 mysql 是否能够使用

打开 vim /var/www/html/info.php 输入以下内容,然后在本机浏览器预览,如果有数据就说明已经完成了。

1
2
3
4
<?php
$con = mysqli_connect('localhost', 'root', 'LIxiang@123');
var_dump($con);
?>

此时 LAMP 已经安装完成

yum 安装 mysql

centos7 内置的 MySQL 镜像已经放弃 Oracle 公司的 MySQL,改用 MySQL 的分支数据库 mariaDB,使用以下安装 mariadb:

yum -y install mariadb

然后使用命令 systemctl start mariadb,提示如下:

Failed to start mariadb.service: Unit mariadb.service failed to load: No such file or directory

意思找不到 mariadb 这个服务。之所以找不到,是因为 mariadb 的安装本身就没有完成。

执行以下,安装缺少的依赖包:

yum -y install mariadb-embedded mariadb-libs mariadb-bench mariadb mariadb-sever

然后再启动 mariadb,正常,如果要设置开机自启动 mariadb,使用以下命令:

1
systemctl enable mariadb

一定要记得,使用 yum install 命令安装 mysql 时,需要多加一个通配符'*',使用如下命令:

1
yum install mariadb*

此时就没错了 = =

配置 Apache、mysql 开机启动

重启 Apache、mysql 服务(注意这里和 centos6 有区别,Cenots7+不能使用 6 的方式)

1
2
3
4
systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置apache开机启动

如果是采用方法一安装的 mariadb,安装完成以后使用下面的命令开启数据库服务:

1
2
3
4
5
6
7
8
9
10
11
#启动MariaDB

[root@localhost ~]# systemctl start mariadb.service

#停止MariaDB

[root@localhost ~]# systemctl stop mariadb.service

#重启MariaDB

[root@localhost ~]# systemctl restart mariadb.service

设置开机启动

1
[root@localhost ~]# systemctl enable mariadb.service

重启对应服务

1
2
3
4
5
service mysqld restart

service php-fpm start

service httpd restart

配置 Mysql

初次安装 mysql 是没有密码的,我们要设置密码,mysql 的默认账户为 root

设置 MySQL 数据 root 账户的密码:

1
[root@localhost ~]# mysql_secure_installation

当出现如下提示时候直接按回车:

1
Enter current password for root

出现如下再次回车:

1
Set root password? [Y/n]

出现如下提示输入你需要设置的密码,这里输入了 root,输入密码是不显示的,回车后再输入一次确认:

New password:
接下来还会有四个确认,分别是:

1
2
3
4
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]

安装 php 扩展

1
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-pdo