本地电脑是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).
- vagrant init centos/7
- vagrant up
该box的root默认密码是vagrant.
我是直接用xShell工具连接的(ssh连接端口看启动日志,默认是2222),连接之后是需要输入账号(vagrant)和密匙(public key)。
密匙是在启动路径下的.vagrant/machines/default/virtualbox/private_key。然后登陆即可。
找到/etc/ssh/sshd_conf,把里面的值PasswordAuthentication改成yes.
保存后重启sshd服务。
service sshd restart
有时候用yum安装可能比较忙,可以加上代理网络可能就会快一点。
加代理配置可以在/etc/yum.conf
安装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端口)。
安装MariaDB仍旧参考的文档
How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean
这个安装后的MariaDB版本不符合我的需求(我要安装10.4)
如何安装指定版本的MariaDB?
去MariaDB的官方网站(Download MariaDB Server - MariaDB.org)选择你要安装的版本,然后根据步骤一步步的安装
安装好后用命令查看mysql的版本
mysql --version
然后运行数据库的初始化配置(设置root密码)。
sudo mysql_secure_installation
如果想要在win10里面访问该数据库,需要把guest的数据库端口映射出去。
仍旧参考的文档。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
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)
启动php fpm
- #start php-fpm
- sudo systemctl start php-fpm
-
- #eanble start php-fpm on boot with systemd
- sudo systemctl enable php-fpm
仍旧参考文档第四步即可
How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean
在win10系统下面,打开powershell,执行以下命令导出vagrant box。
vagrant package --output {your virtualbox name, e.g. local_lemp.box}
这个box导入,vagrant up的时候遇到如下问题:
需要执行如下命令进行更新
vagrant plugin install vagrant-vbguest --plugin-version 0.21
执行成功后如下信息。会默认把当前路径映射到虚拟机的/vagrant路径下面。