目录
安装nginx" >安装nginx
启动nginx并设置为开机启动" >启动nginx并设置为开机启动
安装epel与remi源" >安装epel与remi源
iptables防火墙" >iptables防火墙
安装iptables" >安装iptables
编辑防火墙配置文件" >编辑防火墙配置文件
PHP7.0的安装" >PHP7.0的安装
配置nginx可以访问php" >配置nginx可以访问php
测试访问" >测试访问
Mariadb的安装" >Mariadb的安装
MariaDB的安全配置" >MariaDB的安全配置
让外网可以进行链接" >让外网可以进行链接
安装composer" >安装composer
全局安装composer" >全局安装composer
首页 后端开发 PHP7 vagrant如何搭建php7环境

vagrant如何搭建php7环境

Jun 23, 2021 am 09:49 AM
vagrant

本篇文章介绍了vagrant搭建php7开发环境的方法。其中涵盖了nginx的安装与配置,composer的安装与配置,php7安装及模块安装,以及centos7中防火墙的配置。

vagrant如何搭建php7环境

前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建好了自己的基础环境。接下来说一说如何搭建php7的开发环境。

申明一下,这里使用的box,就是前面演示的centos7
地址奉上:
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box

安装nginx

首先需要跟新一些ngin的相关源。

$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

// 执行安装过程
$ yum install nginx
登录后复制

看到以下界面时,请稍等,如果需要输入的地方,请直接按 y 然后回车。

这里写图片描述

启动nginx并设置为开机启动

$ systemctl start nginx 
$ systemctl enable nginx
登录后复制

安装epel与remi源

安装epel,epel是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。安装时一定需要注意一下自己系统的版本额。

$ rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
登录后复制

2016-10-22日修改:

最近发上面的源不能用了。请大家自己在这里找对应的版本

http://dl.fedoraproject.org/pub/

过不了墙的请用国内镜像


http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-8.noarch.rpm

remi源种包含最新的php相关信息,如:php7、mysql等,因此为了便捷获取php7的最新信息,也需要安装一下这个源。

$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
登录后复制

iptables防火墙

因为以前经常使用iptables,对centos7自带的firewalld防火墙不熟悉,因此我就将关闭centos7自带的firewalld,启用自己熟悉的iptables吧。

首先,关闭自带的firewalld防火墙

$ systemctl stop firewalld.service 
$ systemctl disable firewalld.service #防止开机启动
登录后复制

安装iptables

$ yum install iptables-services
登录后复制

安装进程如下图所示

这里写图片描述

启动iptables防火墙

systemctl start iptables.service 
systemctl enable iptables.service #开机自动启动
登录后复制

编辑防火墙配置文件

为了我们在自己的主机上能够顺利访问,需要开启以下端口,

vim /etc/sysconfig/iptables

编辑防火墙,设置80(nginx) 3306(mysql/mariadb) 6379(redis)端口,外网可访问

这里写图片描述

PHP7.0的安装

查看remi源中可安装的php信息

$ yum list --enablerepo=remi --enablerepo=remi-php70 | grep php70
登录后复制

该列表会列出所有可以安装的php模块信息,从中安装自己需要的模块,下面安装模块,是我自己的一个模块选择情况。其中有一部分是必须的,有一部分是可选的。比如php-fpm就是必须的,如果你用的是nginx的话。

$ yum install --enablerepo=remi --enablerepo=remi-php70 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-pecl-xdebug php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common php-json php-imap php-pecl-redis php-pecl-memcached php-pecl-mongodb
登录后复制

安装完成后,输入 php -v 可以查看当前安装的php版本信息。

这里写图片描述

启动php-fpm,因为nginx需要通过它来解析php程序

$ systemctl start php-fpm
$ systemctl enable php-fpm #设置开机自启动
登录后复制

配置nginx可以访问php

进入nginx的文件配置中心,

$ cd /etc/nginx/conf.d/
# 复制默认的配置文件 
$ cp default.conf php.conf
登录后复制

首先先通过vim编辑default文件。将监听端口改为8080, 因为后面我们自己的php.conf会用到80端口。

这里写图片描述

现在来编辑复制的php.conf文件,可以直接复制以下内容,至于配置的含义,后面再开一篇文章来单独讲解吧。

server {
    listen       80;
    server_name  localhost;

    charset utf-8;
    root /vagrant/www;# 自己的项目目录,也就是php项目所在目录

    location / {
        # 请注意,一定要加index.php这项
        index  index.php index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        # 注意此处变量的不同
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
登录后复制

修改完文件后,必须要重新启动nginx,才会使当前的配置生效。

$ systemctl reload nginx
登录后复制

测试访问

在/vagrant/www下新建一个文件index.php

<?php
    phpinfo();
登录后复制

在浏览器中打开,访问对应的ip,可以看到输出的php信息

这里写图片描述

注:如果在使用过程中,有新增加的php模块,需要重新启动php-fpm

systemctl reload php-fpm
登录后复制

Mariadb的安装

这里很多同学可能第一次听说mariadb,他呢是mysql的一个重要分子,或者可以理解为mysql的替代品,自从mysql被控制后,更新速度已经慢太多了。两者的用法基本没有区别,实际中有哪些坑,大家可以自己去踩一踩。哈哈,别说我不负责任。

# 安装
$ yum install mariadb-server
# 启动服务
$ systemctl start mariadb
# 开机启动
$ systemctl enable mariadb
登录后复制

MariaDB的安全配置

MariaDB默认root密码为空,我们需要设置一下,执行脚本:

$ sudo mysql_secure_installation
登录后复制

这个脚本会经过一些列的交互问答来进行MariaDB的安全设置。

首先提示输入当前的root密码:

Enter current password for root (enter for none):

初始root密码为空,我们直接敲回车进行下一步。

Set root password? [Y/n]

设置root密码,默认选项为Yes,我们直接回车,提示输入密码,在这里设置您的MariaDB的root账户密码。

Remove anonymous users? [Y/n]

是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续。

Disallow root login remotely? [Y/n]

是否禁止root用户远程登录?如果您只在本机内访问MariaDB,建议按默认设置,回车继续。 如果您还有其他云主机需要使用root账号访问该数据库,则需要选择n。

Remove test database and access to it? [Y/n]

是否删除测试用的数据库和权限? 建议按照默认设置,回车继续。

Reload privilege tables now? [Y/n]

是否重新加载权限表?因为我们上面更新了root的密码,这里需要重新加载,回车。

完成后你会看到Success!的提示,MariaDB的安全设置已经完成。我们可以使用以下命令登录MariaDB:

$ mysql -uroot -p
登录后复制

按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。

这里写图片描述

最后我们将MariaDB设置为开机启动。

$ sudo systemctl enable mariadb
登录后复制

让外网可以进行链接

mysql> grant all on *.* to &#39;root&#39;@&#39;%&#39; identified by &#39;root&#39;;
mysql> flush privileges;
登录后复制

安装composer

composer的大名,我就不想介绍了,如果你是一个phper,没用过,我也就不怪你,毕竟但是他现在才刚过1.0版,但是如果听都没听过,请面壁去……

安装说明

$ php -r “readfile(‘https://getcomposer.org/installer‘);” > composer-setup.php

$ php composer-setup.php

$ php -r “unlink(‘composer-setup.php’);”
登录后复制

上述 3 条命令的作用依次是:

  • 下载安装脚本(composer-setup.php)到当前目录。

  • 执行安装过程。

  • 删除安装脚本 – composer-setup.php 。

全局安装composer

全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:

$ sudo mv composer.phar /usr/local/bin/composer
登录后复制

然后执行:

composer -v
登录后复制

这里写图片描述

由于composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包

$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
登录后复制

查看composer的配置文件

vim /root/.composer/config.json

这里写图片描述

看到以上内容,表示配置成功!

推荐学习:php视频教程

以上是vagrant如何搭建php7环境的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP7有哪些版本引入了新的操作符 PHP7有哪些版本引入了新的操作符 Mar 03, 2025 pm 04:37 PM

本文详细介绍了PHP 7的新运营商:无效的(??),太空飞船(&lt; =&gt;)和无效的合并分配(?? =)操作员。 这些通过简化零检查和比较来增强代码的可读性和性能

如何优化PHP7代码以提高性能 如何优化PHP7代码以提高性能 Mar 03, 2025 pm 04:28 PM

本文研究了优化性能的PHP7代码。 它解决了常见的瓶颈,例如效率低下的数据库查询,I/O操作和内存泄漏。 解决方案包括有效的编码实践,数据库和缓存策略,异步

PHP7不同版本对内存消耗有什么影响 PHP7不同版本对内存消耗有什么影响 Mar 03, 2025 pm 04:35 PM

PHP 7的次要版本差异产生微妙的记忆消耗变化。 尽管较新的版本通常通过Zend Engine和垃圾收集优化提高了性能和存储效率,但影响依赖于应用程序。 象征

如何在PHP 7中有效使用会议? 如何在PHP 7中有效使用会议? Mar 10, 2025 pm 06:20 PM

本文详细介绍了有效的PHP 7会话管理,涵盖了session_start(),$ _Session,session_destroy()和安全cookie处理等核心功能。 它强调了安全性最佳实践,包括HTTP,会话ID再生,S

PHP7的版本更新主要修复了哪些bug PHP7的版本更新主要修复了哪些bug Mar 03, 2025 pm 04:36 PM

PHP 7通过解决众多错误,提高性能和增强安全性,从而显着改善了以前的版本。 密钥改进包括重写的Zend Engine 3,优化的内存管理和精制错误处理。而基因

如何从PHP 5.6升级到PHP 7? 如何从PHP 5.6升级到PHP 7? Mar 10, 2025 pm 06:29 PM

本文详细介绍了将PHP 5.6升级为PHP 7,强调了备份,检查服务器兼容性以及选择升级方法(软件包管理器,编译,控制面板或Web服务器配置)等关键步骤。 它解决了Potentia

如何使用New Relic等工具监视PHP 7的性能? 如何使用New Relic等工具监视PHP 7的性能? Mar 10, 2025 pm 06:28 PM

本文解释了如何使用新遗物监视PHP 7应用程序性能。 它详细详细介绍了新的Relic的设置,关键绩效指标(KPI),例如APDEX分数和响应时间,通过交易轨迹的瓶颈标识和错误轨迹

PHP7版本更新对session处理有什么影响 PHP7版本更新对session处理有什么影响 Mar 03, 2025 pm 04:31 PM

本文研究了PHP7中的会话处理,强调了增强的Zend引擎的性能提高。 它讨论了潜在的兼容性问题,从升级和详细信息优化策略的安全性和可伸缩性。

See all articles