Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

coldplay.xixi
coldplay.xixinach vorne
2021-04-27 10:55:391296Durchsuche

Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

Ich habe die Grundkenntnisse von Vagrant im Grunde schon einmal durchgearbeitet. Ich glaube, dass Sie, solange Sie dem Tutorial folgen, Ihre eigene Grundumgebung eingerichtet haben. Lassen Sie uns als Nächstes darüber sprechen, wie Sie eine Entwicklungsumgebung für PHP7 einrichten.

Lassen Sie mich sagen, dass es sich bei der hier verwendeten Box um die zuvor gezeigte Centos7 handelt
Die Adresse lautet:
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos- 7.0-x86_64.box

Um Nginx zu installieren

, müssen Sie zunächst einige Ngin-bezogene Quellen aktualisieren.

$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm// 执行安装过程
$ yum install nginx

Empfohlen (kostenlos): PHP7

Wenn Sie die folgende Oberfläche sehen, warten Sie bitte. Wenn Sie etwas eingeben müssen, drücken Sie bitte y und drücken Sie die Eingabetaste. y 然后回车。
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

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

安装进程如下图所示
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

启动iptables防火墙

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

编辑防火墙配置文件

为了我们在自己的主机上能够顺利访问,需要开启以下端口,
vim /etc/sysconfig/iptables
编辑防火墙,设置80(nginx) 3306(mysql/mariadb) 6379(redis)端口,外网可访问
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

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版本信息。
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

启动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端口。
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

现在来编辑复制的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信息
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

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

systemctl reload php-fpmBildbeschreibung hier schreiben

Starten nginx und stellen Sie es so ein, dass es beim Booten startet . Bei der Installation müssen Sie auf die Version Ihres Systems achten.

# 安装$ yum install mariadb-server# 启动服务$ systemctl start mariadb# 开机启动$ systemctl enable mariadb

Geändert am 22.10.2016:

Die oben kürzlich veröffentlichte Quelle kann nicht verwendet werden. Die entsprechende Version finden Sie hierhttp://dl.fedoraproject.org/pub/ Wenn Sie die Mauer nicht passieren können, verwenden Sie bitte Haushaltsspiegel

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

🎜Remi-Quelle enthält die neuesten PHP-bezogenen Informationen, wie zum Beispiel: PHP7, MySQL usw. Um daher einfach die neuesten Informationen von PHP7 zu erhalten, Sie müssen diese Quelle auch installieren. 🎜
$ sudo mysql_secure_installation
🎜🎜iptables-Firewall🎜🎜🎜Da ich iptables vorher oft verwende, bin ich mit der mit Centos7 gelieferten Firewalld-Firewall nicht vertraut, daher werde ich die mit Centos7 gelieferte Firewalld ausschalten und die bekannten iptables aktivieren. 🎜🎜Schalten Sie zunächst die integrierte Firewall aus. Article/000/000/ 052/17ce64eb750abdd54d06331318309416-1.png" alt="Bildbeschreibung hier schreiben" title=""/>🎜🎜Starten Sie die iptables-Firewall🎜
$ mysql -uroot -p
🎜🎜Bearbeiten Sie die Firewall-Konfigurationsdatei🎜🎜🎜Für uns Um einen reibungslosen Zugriff auf unseren eigenen Host zu haben, müssen wir die folgenden Ports öffnen: 🎜 vim /etc/sysconfig/iptables 🎜 Bearbeiten Sie die Firewall und stellen Sie den Port 80 (nginx), 3306 (mysql/mariadb) 6379 (redis) ein, der von außen zugänglich ist Netzwerk 🎜Bildbeschreibung hier schreiben🎜🎜🎜 PHP7.0-Installation🎜🎜🎜Sehen Sie sich die Remi-Quelle für Installations-PHP-Informationen an🎜
$ sudo systemctl enable mariadb
🎜Diese Liste listet alle PHP-Modulinformationen auf, die installiert werden können, von denen aus Sie die Module installieren können, die Sie benötigen Auswahl. Einige davon sind erforderlich, andere optional. Beispielsweise ist php-fpm erforderlich, wenn Sie Nginx verwenden. 🎜
mysql> grant all on *.* to &#39;root&#39;@&#39;%&#39; identified by &#39;root&#39;;
mysql> flush privileges;
🎜Geben Sie nach Abschluss der Installation php -v ein, um die aktuell installierten PHP-Versionsinformationen anzuzeigen. 🎜Bildbeschreibung hier schreiben🎜🎜PHP starten -fpm, da Nginx das PHP-Programm darüber analysieren muss. 🎜
$ php -r “readfile(‘https://getcomposer.org/installer‘);” > composer-setup.php$ php composer-setup.php

$ php -r “unlink(‘composer-setup.php’);”
🎜🎜Konfigurieren Sie Nginx für den Zugriff auf PHP. Ändern Sie den Listening-Port auf 8080, da unsere eigene php.conf später Port 80 verwenden wird. 🎜Bildbeschreibung hier schreiben🎜🎜Komm jetzt Bearbeiten Sie die kopierte php.conf-Datei und kopieren Sie den folgenden Inhalt direkt. Was die Bedeutung der Konfiguration betrifft, werde ich später einen Artikel öffnen, um ihn separat zu erklären. 🎜
$ sudo mv composer.phar /usr/local/bin/composer
🎜Nach dem Ändern der Datei muss Nginx neu gestartet werden, damit die aktuelle Konfiguration wirksam wird. 🎜
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
🎜🎜Zugriff testen🎜🎜🎜Erstellen Sie eine neue Datei index.php unter /vagrant/www🎜rrreee🎜Öffnen Sie sie im Browser, greifen Sie auf die entsprechende IP zu, Sie können die ausgegebenen PHP-Informationen sehen🎜Bildbeschreibung hier schreiben🎜🎜Hinweis: Wenn während des Gebrauchs, dort ist ein neu hinzugefügtes PHP-Modul, Sie müssen PHP-FPM neu starten🎜🎜systemctl php-FPM neu laden🎜🎜🎜Mariadb-Installation🎜🎜🎜Dies ist möglicherweise das erste Mal, dass viele Schüler davon hören Davon ist Mariadb ein wichtiger Bestandteil von MySQL oder kann als Ersatz für MySQL verstanden werden. Da MySQL kontrolliert wurde, war die Aktualisierungsgeschwindigkeit zu langsam. In der Anwendung gibt es grundsätzlich keinen Unterschied. Welche Fallstricke es in der Praxis gibt, können Sie selbst herausfinden. Haha, sag nicht, dass ich unverantwortlich bin. 🎜rrreee🎜🎜MariaDB-Sicherheitskonfiguration🎜🎜🎜MariaDB-Standard-Root-Passwort ist leer, wir müssen es festlegen und das Skript ausführen:🎜
$ 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的交互界面,说明已经安装成功。
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung

最后我们将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 条命令的作用依次是:

  1. 下载安装脚本(composer-setup.php)到当前目录。
  2. 执行安装过程。
  3. 删除安装脚本 – composer-setup.php 。

全局安装composer

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

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

$ sudo mv composer.phar /usr/local/bin/composer

然后执行:
composer -v
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung
由于composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包

$ composer config -g repo.packagist composer https://packagist.phpcomposer.com

查看composer的配置文件
vim /root/.composer/config.json
Detaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung
看到以上内容,表示配置成功!


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

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der von Vagrant erstellten PHP7-Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen