이 글에서는 vagrant를 이용해 php7 개발 환경을 구축하는 방법을 소개합니다. nginx 설치 및 구성, Composer 설치 및 구성, php7 설치 및 모듈 설치, centos7의 방화벽 구성을 다룹니다.
저는 기본적으로 이전에 vagrant에 대한 기본 지식을 익혔습니다. 튜토리얼을 따라가면 자신만의 기본 환경이 구축될 것이라고 믿습니다. 다음으로 php7 개발 환경을 설정하는 방법에 대해 알아보겠습니다.
여기에 사용된 상자는 앞서 시연한 centos7임을 명시하겠습니다.
주소는
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-입니다. 7.0-x86_64.box
를 설치하려면 먼저 일부 ngin 관련 소스를 업데이트해야 합니다.
$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm // 执行安装过程 $ yum install nginx
다음 인터페이스가 표시되면 잠시 기다려 주세요. 입력해야 할 내용이 있으면 y를 누르고 Enter를 누르세요.
$ systemctl start nginx $ systemctl enable nginx
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 소스에는 php7, mysql 등과 같은 최신 PHP 관련 정보가 포함되어 있으므로 최신 정보를 쉽게 얻을 수 있습니다. php7의 경우 이 소스도 설치해야 합니다.
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
과거에는 iptables를 자주 사용했기 때문에 centos7에 포함된 방화벽d 방화벽에 익숙하지 않아서 centos7에 포함된 방화벽d를 끄고 익숙한 iptables를 활성화하겠습니다.
먼저 내장 방화벽d 방화벽을 꺼주세요
$ systemctl stop firewalld.service $ systemctl disable firewalld.service #防止开机启动
$ yum install iptables-services
설치 과정은 아래 그림과 같습니다.
iptables 방화벽 시작
systemctl start iptables.service systemctl enable iptables.service #开机自动启动
for us in our own 호스트에서 원활한 액세스를 위해서는 다음 포트를 열어야 합니다.
vim /etc/sysconfig/iptables
방화벽을 편집하고 80(nginx) 3306(mysql/mariadb) 6379( redis) 포트, 그리고 외부 네트워크는
에 액세스할 수 있습니다.remi 소스에서 설치 가능한 PHP 정보 보기
$ yum list --enablerepo=remi --enablerepo=remi-php70 | grep php70
목록에는 설치할 수 있는 모든 PHP 모듈 정보가 나열됩니다. 그 중에서 필요한 모듈을 설치합니다. 아래에 설치된 모듈은 제가 직접 A 모듈을 선택하는 상황입니다. 그 중 일부는 필수이고 일부는 선택 사항입니다. 예를 들어 nginx를 사용하는 경우 php-fpm이 필요합니다.
$ 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의 파일 구성 센터에 들어가세요.
$ cd /etc/nginx/conf.d/ # 复制默认的配置文件 $ cp default.conf php.conf
먼저 vim을 통해 기본 파일을 편집하세요. 우리의 php.conf가 나중에 포트 80을 사용할 것이기 때문에 수신 포트를 8080으로 변경하십시오.
이제 복사한 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
<?php phpinfo();
아래에 새 파일 index.php를 생성하세요. 브라우저에서 열고 해당 IP에 접속하면 출력된 PHP 정보를 볼 수 있습니다
참고: 만약 사용 중에 새로 추가된 PHP 모듈이 있으므로 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视频教程
위 내용은 vagrant로 php7 환경을 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!