Maison > Article > développement back-end > Comment créer un environnement php7 avec vagrant
Cet article explique comment créer un environnement de développement php7 avec vagrant. Il couvre l'installation et la configuration de nginx, l'installation et la configuration de composer, l'installation de php7 et l'installation du module, ainsi que la configuration du pare-feu dans centos7.
J'ai essentiellement parcouru les connaissances de base de vagrant auparavant. Je crois que tant que vous suivez le tutoriel, vous aurez configuré votre propre environnement de base. Parlons ensuite de la façon de configurer un environnement de développement pour php7.
Laissez-moi préciser que la box utilisée ici est la centos7 démontrée plus tôt
Voici l'adresse :
https://github.com/tommy-muehle/puppet-vagrant-boxes /releases/download/1.1.0/centos-7.0-x86_64.box
Vous devez d'abord mettre à jour certaines sources liées à ngin.
$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm // 执行安装过程 $ yum install nginx
Lorsque vous voyez l'interface suivante, veuillez patienter. Si vous devez saisir quelque chose, veuillez appuyer sur y et appuyez sur Entrée.
$ systemctl start nginx $ systemctl enable nginx
Installer epel. epel est un projet d'entrepôt de logiciels maintenu par l'équipe Fedora et fournit à RHEL/CentOS des packages logiciels qu'ils ne fournissent pas par défaut. Lors de l'installation, vous devez faire attention à la version de votre système.
$ rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Modifié le 22/10/2016 :
La source publiée ci-dessus récemment ne peut pas être utilisée. Veuillez trouver la version correspondante ici
http://dl.fedoraproject.org/pub/
Si vous ne pouvez pas passer le mur, veuillez utiliser des miroirs domestiques
http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-8.noarch.rpm
la source Remi contient les dernières informations relatives à php , Tels que : php7, mysql, etc. Par conséquent, afin d'obtenir facilement les dernières informations de php7, vous devez également installer cette source.
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Parce que j'utilise souvent iptables auparavant, je ne suis pas familier avec le pare-feu firewalld fourni avec centos7, je vais donc désactiver le pare-feu fourni avec avec centos7 et activez-le moi-même. Soyez familier avec iptables.
Tout d'abord, désactivez le pare-feu pare-feu intégré
$ systemctl stop firewalld.service $ systemctl disable firewalld.service #防止开机启动
$ yum install iptables-services
Le processus d'installation est comme indiqué ci-dessous
Démarrer le pare-feu iptables
systemctl start iptables.service systemctl enable iptables.service #开机自动启动
Afin que nous ayons un accès fluide sur notre propre hébergeur , nous devons ouvrir les ports suivants,
vim /etc/sysconfig/iptables
Modifier le pare-feu, définir le port 80 (nginx) 3306 (mysql/mariadb) 6379 (redis), accessible depuis le réseau externe
Afficher les informations php installables dans la source remi
$ yum list --enablerepo=remi --enablerepo=remi-php70 | grep php70
La liste répertorie tous les php qui peuvent être installés. Informations sur les modules, à partir desquelles vous pouvez installer les modules dont vous avez besoin. L'installation des modules ci-dessous est ma propre sélection de modules. Certains d’entre eux sont obligatoires et d’autres sont facultatifs. Par exemple, php-fpm est nécessaire si vous utilisez 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
Une fois l'installation terminée, entrez php -v pour afficher les informations sur la version de php actuellement installée.
Démarrez php-fpm, car nginx en a besoin pour analyser les programmes php
$ systemctl start php-fpm $ systemctl enable php-fpm #设置开机自启动
Entrez dans le centre de configuration de fichiers nginx,
$ cd /etc/nginx/conf.d/ # 复制默认的配置文件 $ cp default.conf php.conf
Modifiez d'abord le fichier par défaut via vim. Changez le port d'écoute en 8080, car notre propre php.conf utilisera le port 80 plus tard.
Modifiez maintenant le fichier php.conf copié Vous pouvez directement copier le contenu suivant Quant à la signification de la configuration, j'ouvrirai un article pour l'expliquer séparément plus tard.
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; } }
Après avoir modifié le fichier, nginx doit être redémarré pour que la configuration actuelle prenne effet.
$ systemctl reload nginx
Créez un nouveau fichier index.php sous /vagrant/www
<?php phpinfo();
Ouvrez-le dans le navigateur et accédez à l'IP correspondante , vous pouvez voir les informations php de sortie
Remarque : si des modules php nouvellement ajoutés sont ajoutés pendant l'utilisation, vous devez redémarrer php-fpm
systemctl reload php-fpm
这里很多同学可能第一次听说mariadb,他呢是mysql的一个重要分子,或者可以理解为mysql的替代品,自从mysql被控制后,更新速度已经慢太多了。两者的用法基本没有区别,实际中有哪些坑,大家可以自己去踩一踩。哈哈,别说我不负责任。
# 安装 $ yum install mariadb-server # 启动服务 $ systemctl start mariadb # 开机启动 $ systemctl enable 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;
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 安装到系统环境变量 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视频教程
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!