vagrant系列三:vagrant搭建的php7环境
原文:https://blog.csdn.net/hel12he/article/details/51107236
前面已经把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
注意:在安装完后,访问HTML静态文件报错403,php文件报错,‘file not found’,参考我的详解:在使用vagrant访问PHP文件是报错“file not found”,好像是最新的NGINX不能识别document_root,只能改为自己的项目目录/vagrant_data
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 'root'@'%' identified by 'root';
mysql> flush privileges;
补充:我的是直接安装的MySQL,所以安装过程,参考:https://www.cnblogs.com/bigbrotherer/p/7241845.html
#获取源
yum -ivh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm #yum安装
yum -y install mysql57-community-release-el7-10.noarch.rpm #安装mysql 服务器
yum -y install mysql-community-server
安装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的配置文件
我的是在:
vi /home/vagrant/.config/composer/config.json
vim /root/.composer/config.json

看到以上内容,表示配置成功!
至此,基本的php7环境搭建已经完成了。然后呢,下一次说一说用vagrant搭建redis吧。当然我不会仅仅只说redis的搭建额。到时候看啊吧!
原文:https://blog.csdn.net/hel12he/article/details/51107236
vagrant系列三:vagrant搭建的php7环境的更多相关文章
- vagrant系列教程(三):vagrant搭建的php7环境(转)
原文:http://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建 ...
- Vagrant系列(一)----win10搭建Vagrant+VirtualBox环境_
一.Vagrant是什么? vagrant是一个操作虚拟机的工具.是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 通过命令和配置文件来管理虚拟机,很快就能完成一套开发环境的 ...
- Vagrant系列(二)----Vagrant的配置文件Vagrantfile详解
一.简介 在我们的工作目录下有一个Vagrantfile文件,里面包含有大量的配置信息,通过它可以定义虚拟机的各种配置,如网络.内存.主机名等,主要包括三个方面的配置,虚拟机的配置.SSH配置.Vag ...
- Velocity魔法堂系列三:模板与宿主环境通信
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...
- Java学习笔记一:三步搭建Java开发环境
Java开发环境搭建 一:安装JDK: 1.下载地址:http://www.oracle.com/technetwork/java/javase/downloads 非常显眼的下载界面 2.点击下载后 ...
- 【大数据系列】windows搭建hadoop开发环境
一.安装JDK配置环境变量 已经安装略过 二.安装eclipse 已经安装略过 三.安装Ant 1.下载http://ant.apache.org/bindownload.cgi 2.解压 3.配置A ...
- 第三章.搭建MyBatis工程环境
1.数据库的准备: 数据库: create DATABASE mybatis: 数据表: CREATE TABLE `user` ( `id` int(10) NOT NULL AUTO_INCREM ...
- Kubernetes系列三:二进制安装Kubernetes环境
安装环境: # 三个节点信息 192.168.31.11 主机名:env11 角色:部署Master节点/Node节点/ETCD节点 192.168.31.12 主机名:env12 角色:部署Node ...
- java 基础(三) 搭建Java编译环境(树莓派)
安装需求1.JDK的安装2.PI4J的安装 JDK的安装1.首先到JDK的官网:https://www.oracle.com/technetwork/java/javase/downloads/ind ...
随机推荐
- vscode 使用ESLint 自动检查,保存时自动格式化
1:全局安装eslint `npm install -g eslint`2: 打开vscode 点击 “文件”----->“首选项”---->“设置”,在右侧“用户设置/settings. ...
- .Net IOC 框架
CastleWindsor 参见:CastleWindsor | .Net IOC 框架 AutoFace 参见:AutoFace | .Net IOC 框架 Unity 参见:Unity | .Ne ...
- api的日志
package cn.com.acxiom.coty.wechat.ws.bean.po; import java.util.Date; public class WebserviceLogWecha ...
- 面对runc逃逸漏洞,华为云容器为您保驾护航
背景信息 基于runc运行时的容器存在安全漏洞,攻击者可以通过恶意容器镜像等方式获取宿主机root执行权限.漏洞CVE-2019-5736的详细信息,请参见 https://cve.mitre.org ...
- Windows 下 mysql 安装
mysql官网下载地址:https://downloads.mysql.com/archives/community/ 以5.7.20版本为例 首先安装包解压后,没有网上教程里面提到的data文件夹和 ...
- 正则表达式匹配IP地址
'''首先分析ip地址的特征:255.255.255.255,前三位的数字处理基本一致 1位: 0-9 \d2位:10-99 [1-9]\d3位:100-19 ...
- Java字节码方法表与属性表深度剖析
方法表: 在上一次咱们已经分析到了字段信息了,如下: 紧接着就是方法相关的信息了: 而它展开之后的结构为: 所以往后数2个字节,看一下方法的总数: 3个方法,可咱们只定义了两个方法呀: 因为编译器会为 ...
- hi 北京
一 . 感慨 借着参加北京物联网展会的这次机会,提前找老师批了大概两周的假期.当然也借着这次机会,尝试了第一次坐飞机.第一次来北京.心里也有点小激动,在路上甚至会想,我是不是要重新规划一下我的人生了呢 ...
- 大数据之路week02 Collection 集合体系收尾(Set)
1.Set集合(理解) (1)Set集合的特点 无序,唯一. (2)HashSet集合(掌握) A: 底层数据结构是哈希表(是一个元素为链表的数组) B: 哈希表底层依赖两个方法: hashCode( ...
- JS 框架安全报告:jQuery 下载次数超过 1.2 亿次
尽管 JavaScript 库 jQuery 仍被使用,但它已不再像以前那样流行.根据开源安全平台 Snyk 统计,目前至少十分之六的网站受到 jQuery XSS 漏洞的影响,甚至用于扩展 jQue ...