vagrant系列三:vagrant搭建的php7环境

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 然后回车。
vagrant系列三:vagrant搭建的php7环境

 

启动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

安装进程如下图所示
vagrant系列三:vagrant搭建的php7环境

 

启动iptables防火墙

systemctl start iptables.service
systemctl enable iptables.service #开机自动启动

编辑防火墙配置文件

为了我们在自己的主机上能够顺利访问,需要开启以下端口,
vim /etc/sysconfig/iptables
编辑防火墙,设置80(nginx) 3306(mysql/mariadb) 6379(redis)端口,外网可访问
vagrant系列三:vagrant搭建的php7环境

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版本信息。
vagrant系列三:vagrant搭建的php7环境
启动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端口。
vagrant系列三:vagrant搭建的php7环境
现在来编辑复制的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信息
vagrant系列三:vagrant搭建的php7环境

注:如果在使用过程中,有新增加的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的交互界面,说明已经安装成功。
vagrant系列三:vagrant搭建的php7环境

最后我们将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

vagrant系列三:vagrant搭建的php7环境
由于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

 vagrant系列三:vagrant搭建的php7环境
看到以上内容,表示配置成功!

至此,基本的php7环境搭建已经完成了。然后呢,下一次说一说用vagrant搭建redis吧。当然我不会仅仅只说redis的搭建额。到时候看啊吧!

原文:https://blog.csdn.net/hel12he/article/details/51107236

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112234.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • @MapperScan注解使用

    @MapperScan注解使用1、@Mapper注解:作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类添加位置:接口类上面@MapperpublicinterfaceUserDAO{  //代码}如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan2、@MapperScan作用:指定要变成实现类的接口所…

    2022年6月14日
    234
  • Origin绘图快速上手指南「建议收藏」

    Origin绘图快速上手指南「建议收藏」1、创建工程打开origin后,点击菜单栏“文件”,选择“项目另存为”,给项目命名,并存到某个工作路径。2、导入数据然后将excel中的数据(只要数据)选中后复制到Book1中,从第5行开始粘贴。可以在侧面打开“项目管理器”,给表格“Book1”重命名为“曲线数据”。还可以在表格的“长单位”处给每列数据加上标签。3、那么这时可以直接使用Origin的自动绘图功能了。选择A、B、C所有列,然后点击菜单栏的“绘图”,选择一个折线图,双击即可绘图。这样呢就是将两条曲线放到同一张图中了。如果想要自定

    2022年5月31日
    57
  • Linux系统查看CPU「建议收藏」

    Linux系统查看CPU「建议收藏」    在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况,以便性能分析优化。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。    对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运…

    2022年4月19日
    160
  • hexdump用法_linux dump命令

    hexdump用法_linux dump命令本文乃fireaxe原创,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,并注明原作者及原链接。内容可任意使用,但对因使用该内容引起的后果不做任何保证。作者:fireaxe_hq@hotmail.com博客:fireaxe.blog.chinaunix.net转自:http://blog.chinaunix.net/uid-20528014-id-4087756.html开发时经常会…

    2022年9月21日
    2
  • 电力电子技术 学习总结1

    第二章PPT91以前电力电子器件(PowerElectronicDevice)—可直接用于处理电能的主电路中,实现电能的变换或控制的电子器件。主电路(MainPowerCircuit)—电力电子设备或系统中,直接完成电能变换或控制的电路。广义上电力电子器件可分为电真空器件和半导体器件两类。自20世纪50年代以来,真空管(VacuumValve)仅在频率很高(如微波,数GHz)的大功率高频电源中还在使用,而在大多数电能变换领域,电力半导体器件已取代了汞弧整流器、闸流管等电真空器件

    2022年4月14日
    93
  • 一个低级的ORA-01017错误

    一个低级的ORA-01017错误事件缘由:使用sys账户创建了一个数据清理的存储过程,再创建一个Oraclejob定时运行这个存储过程,用于做表数据的清理。第二天看表数据未删除,说明job执行有错,打算使用sys账号登录查看job运行情况,反复输入sys账户信息,总提示ORA-01017,1.尝试改sys用户密码,重试报错依旧。2.使用sys登录GC,报错相同。使用普通用户登录正常。3.数据库服务器上使用sq

    2022年6月1日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号