1. CentOS7环境准备

本地电脑是win10, 想搭建一个php的环境进行开发,所以用vagrant虚拟机来搭建

环境信息

CentOS7

centos/7

nginx

N/A

MariaDB

10.4

PHP

7.2

我是用的vagrant box, 用的这个centos7 box (https://app.vagrantup.com/centos/boxes/7). 

1.1. 根据这个box的页面说明启动它。

vagrant init centos/7
vagrant up

1.2. 启动了之后直接ssh连接。

该box的root默认密码是vagrant.

 我是直接用xShell工具连接的(ssh连接端口看启动日志,默认是2222),连接之后是需要输入账号(vagrant)和密匙(public key)。

密匙是在启动路径下的.vagrant/machines/default/virtualbox/private_key。然后登陆即可。

centos7默认git密码 centos7默认账号密码_运维

1.2.1. 如果想用账号密码登陆。

找到/etc/ssh/sshd_conf,把里面的值PasswordAuthentication改成yes. 

 

centos7默认git密码 centos7默认账号密码_运维_02

 保存后重启sshd服务。

service sshd restart

1.2.2. yum添加代理(proxy)

有时候用yum安装可能比较忙,可以加上代理网络可能就会快一点。

加代理配置可以在/etc/yum.conf

2. 安装Nginx

安装nginx参考的文档

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

直接根据文档的命令一步步操作即可。

# add the CentOS7 EPEL repository
sudo yum install epel-release
# install nginx
sudo yum install nginx
# start the nginx service
sudo systemctl start nginx
# enable start nginx on boot with systemd
sudo systemctl enable nginx

安装好了之后直接浏览器localhost访问即可(注意因为是virtual box,需要guest的80端口forward到host的80端口)。

centos7默认git密码 centos7默认账号密码_centos7默认git密码_03

3. 安装MariaDB

安装MariaDB仍旧参考的文档

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

 这个安装后的MariaDB版本不符合我的需求(我要安装10.4)

如何安装指定版本的MariaDB?

去MariaDB的官方网站(Download MariaDB Server - MariaDB.org)选择你要安装的版本,然后根据步骤一步步的安装

centos7默认git密码 centos7默认账号密码_nginx_04

安装好后用命令查看mysql的版本

mysql --version

centos7默认git密码 centos7默认账号密码_开发语言_05

然后运行数据库的初始化配置(设置root密码)。

sudo mysql_secure_installation

如果想要在win10里面访问该数据库,需要把guest的数据库端口映射出去。 

centos7默认git密码 centos7默认账号密码_运维_06

4. 安装PHP

4.1. 安装PHP

仍旧参考的文档。How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

相关命令如下

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm


# To check which PHP 7+ releases are available in the Remi repository
sudo yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64


# To enable the correct Remi package to get PHP 7.2 installed
sudo yum-config-manager --enable remi-php72

# install php and its relevant extensions
sudo yum install php php-mysqlnd php-fpm

# check php version
php -v

# check php extensions
php -m

安装php相关的extensions。

# search available extensions for php72
sudo yum search php72

# install extensions of php
sudo yum install php-{extension names}

e.g. install php bcmatch extension
sudo yum install php-bcmatch 

$install php extensions based on your requirements. e.g. 
sudo yum install php-bcmath php-xmlwriter libicu-deve libicu-devel php-intl php-mbstring php-pear php-gd php-soap php-pecl-zip

4.2. 配置php-fpm

php fpm的配置文件/etc/php-fpm.conf。查看该文件可以看到它默认会加载/etc/php-fpm.d/*.conf下面的配置文件。文件夹/etc/php-fpm.d下面默认只有www.conf文件。

打开/etc/php-fpm.d/www.conf文件,更改如下内容。

(进程的用户/组 我为了开发方便,改成的vagrant,正常情况下应该根据文档改成nginx)

centos7默认git密码 centos7默认账号密码_centos7默认git密码_07

 启动php fpm

#start php-fpm
sudo systemctl start php-fpm

#eanble start php-fpm on boot with systemd
sudo systemctl enable php-fpm

5. 配置nginx处理php页面

仍旧参考文档第四步即可

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

6. 导出这个vagrant box

在win10系统下面,打开powershell,执行以下命令导出vagrant box。

vagrant package --output {your virtualbox name, e.g. local_lemp.box}

这个box导入,vagrant up的时候遇到如下问题:

centos7默认git密码 centos7默认账号密码_centos7默认git密码_08

需要执行如下命令进行更新

vagrant plugin install vagrant-vbguest --plugin-version 0.21

centos7默认git密码 centos7默认账号密码_运维_09

 执行成功后如下信息。会默认把当前路径映射到虚拟机的/vagrant路径下面。 

centos7默认git密码 centos7默认账号密码_nginx_10