목차
安装nginx
启动nginx并设置为开机启动
安装epel与remi源
iptables防火墙
安装iptables
编辑防火墙配置文件
PHP7.0的安装
配置nginx可以访问php
测试访问
Mariadb的安装
MariaDB的安全配置
让外网可以进行链接
安装composer
全局安装composer
백엔드 개발 PHP 튜토리얼 vagrant系列课程(三):vagrant搭建的php7环境

vagrant系列课程(三):vagrant搭建的php7环境

Jun 13, 2016 pm 12:29 PM
composer mariadb nginx php

vagrant系列教程(三):vagrant搭建的php7环境

前面已经把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的相关源。

<code class="shell hljs avrasm">$ rpm -Uvh http://nginx<span class="hljs-preprocessor">.org</span>/packages/centos/<span class="hljs-number">7</span>/noarch/RPMS/nginx-release-centos-<span class="hljs-number">7</span>-<span class="hljs-number">0.</span>el7<span class="hljs-preprocessor">.ngx</span><span class="hljs-preprocessor">.noarch</span><span class="hljs-preprocessor">.rpm</span>// 执行安装过程$ yum install nginx </code>
로그인 후 복사

看到以下界面时,请稍等,如果需要输入的地方,请直接按 y 然后回车。
这里写图片描述

启动nginx并设置为开机启动

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>systemctl start nginx <span class="hljs-variable">$ </span>systemctl enable nginx</code>
로그인 후 복사

安装epel与remi源

安装epel,epel是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。安装时一定需要注意一下自己系统的版本额。

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>rpm -ivh <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/mirrors.opencas.cn/epel</span><span class="hljs-regexp">/7/x</span>86_64/e/epel-release-<span class="hljs-number">7</span>-<span class="hljs-number">5</span>.noarch.rpm</code>
로그인 후 복사

remi源种包含最新的php相关信息,如:php7、mysql等,因此为了便捷获取php7的最新信息,也需要安装一下这个源。

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>rpm -ivh <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/rpms.famillecollet.com/enterprise</span><span class="hljs-regexp">/remi-release-7.rpm</span></code>
로그인 후 복사

iptables防火墙

因为以前经常使用iptables,对centos7自带的firewalld防火墙不熟悉,因此我就将关闭centos7自带的firewalld,启用自己熟悉的iptables吧。

首先,关闭自带的firewalld防火墙

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>systemctl stop firewalld.service <span class="hljs-variable">$ </span>systemctl disable firewalld.service <span class="hljs-comment">#防止开机启动</span></code>
로그인 후 복사

安装iptables

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>yum install iptables-services</code>
로그인 후 복사

安装进程如下图所示
这里写图片描述

启动iptables防火墙

<code class="shell hljs avrasm">systemctl start iptables<span class="hljs-preprocessor">.service</span> systemctl enable iptables<span class="hljs-preprocessor">.service</span> <span class="hljs-preprocessor">#开机自动启动</span></code>
로그인 후 복사

编辑防火墙配置文件

为了我们在自己的主机上能够顺利访问,需要开启以下端口,
vim /etc/sysconfig/iptables
编辑防火墙,设置80(nginx) 3306(mysql/mariadb) 6379(redis)端口,外网可访问
这里写图片描述

PHP7.0的安装

查看remi源中可安装的php信息

<code class="shell hljs brainfuck"><span class="hljs-comment">$</span> <span class="hljs-comment">yum</span> <span class="hljs-comment">list</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">enablerepo=remi</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">enablerepo=remi</span><span class="hljs-literal">-</span><span class="hljs-comment">php70</span> <span class="hljs-comment">|</span> <span class="hljs-comment">grep</span> <span class="hljs-comment">php70</span></code>
로그인 후 복사

该列表会列出所有可以安装的php模块信息,从中安装自己需要的模块,下面安装模块,是我自己的一个模块选择情况。其中有一部分是必须的,有一部分是可选的。比如php-fpm就是必须的,如果你用的是nginx的话。

<code class="shell hljs lasso">$ yum install <span class="hljs-subst">--</span>enablerepo<span class="hljs-subst">=</span>remi <span class="hljs-subst">--</span>enablerepo<span class="hljs-subst">=</span>remi<span class="hljs-attribute">-php70</span> php php<span class="hljs-attribute">-opcache</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-apcu</span> php<span class="hljs-attribute">-devel</span> php<span class="hljs-attribute">-mbstring</span> php<span class="hljs-attribute">-mcrypt</span> php<span class="hljs-attribute">-mysqlnd</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-xdebug</span> php<span class="hljs-attribute">-pdo</span> php<span class="hljs-attribute">-pear</span> php<span class="hljs-attribute">-fpm</span> php<span class="hljs-attribute">-cli</span> php<span class="hljs-attribute">-xml</span> php<span class="hljs-attribute">-bcmath</span> php<span class="hljs-attribute">-process</span> php<span class="hljs-attribute">-gd</span> php<span class="hljs-attribute">-common</span> php<span class="hljs-attribute">-json</span> php<span class="hljs-attribute">-imap</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-redis</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-memcached</span> php<span class="hljs-attribute">-pecl</span><span class="hljs-attribute">-mongodb</span></code>
로그인 후 복사

安装完成后,输入 php -v 可以查看当前安装的php版本信息。
这里写图片描述

启动php-fpm,因为nginx需要通过它来解析php程序

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>systemctl start php-fpm<span class="hljs-variable">$ </span>systemctl enable php-fpm <span class="hljs-comment">#设置开机自启动</span></code>
로그인 후 복사

配置nginx可以访问php

进入nginx的文件配置中心,

<code class="shell hljs avrasm">$ cd /etc/nginx/conf<span class="hljs-preprocessor">.d</span>/<span class="hljs-preprocessor"># 复制默认的配置文件 </span>$ <span class="hljs-keyword">cp</span> default<span class="hljs-preprocessor">.conf</span> php<span class="hljs-preprocessor">.conf</span> </code>
로그인 후 복사

首先先通过vim编辑default文件。将监听端口改为8080, 因为后面我们自己的php.conf会用到80端口。
这里写图片描述

现在来编辑复制的php.conf文件,可以直接复制以下内容,至于配置的含义,后面再开一篇文章来单独讲解吧。

<code class="config hljs axapta"><span class="hljs-keyword">server</span> {    listen       <span class="hljs-number">80</span>;    server_name  localhost;    charset utf-<span class="hljs-number">8</span>;    root /vagrant/www;<span class="hljs-preprocessor"># 自己的项目目录,也就是php项目所在目录</span>    location / {        <span class="hljs-preprocessor"># 请注意,一定要加index.php这项</span>        <span class="hljs-keyword">index</span>  <span class="hljs-keyword">index</span>.php <span class="hljs-keyword">index</span>.html <span class="hljs-keyword">index</span>.htm;    }    error_page   <span class="hljs-number">500</span> <span class="hljs-number">502</span> <span class="hljs-number">503</span> <span class="hljs-number">504</span>  /<span class="hljs-number">50</span>x.html;    location = /<span class="hljs-number">50</span>x.html {        root   /usr/share/nginx/html;    }    location ~ \.php$ {        fastcgi_pass   <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">9000</span>;        fastcgi_index  <span class="hljs-keyword">index</span>.php;        <span class="hljs-preprocessor"># 注意此处变量的不同</span>        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        include        fastcgi_params;    }}</code>
로그인 후 복사

修改完文件后,必须要重新启动nginx,才会使当前的配置生效。

<code class="shell hljs ruby"><span class="hljs-variable">$ </span>systemctl reload nginx</code>
로그인 후 복사

测试访问

在/vagrant/www下新建一个文件index.php

<code class="php hljs "><span class="hljs-preprocessor"><?php</span>    phpinfo();</code>
로그인 후 복사

在浏览器中打开,访问对应的ip,可以看到输出的php信息
这里写图片描述

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

systemctl reload php-fpm

Mariadb的安装

这里很多同学可能第一次听说mariadb,他呢是mysql的一个重要分子,或者可以理解为mysql的替代品,自从mysql被控制后,更新速度已经慢太多了。两者的用法基本没有区别,实际中有哪些坑,大家可以自己去踩一踩。哈哈,别说我不负责任。

<code class="shell hljs ruby"><span class="hljs-comment"># 安装</span><span class="hljs-variable">$ </span>yum install mariadb-server<span class="hljs-comment"># 启动服务</span><span class="hljs-variable">$ </span>systemctl start mariadb<span class="hljs-comment"># 开机启动</span><span class="hljs-variable">$ </span>systemctl enable mariadb</code>
로그인 후 복사

MariaDB的安全配置

MariaDB默认root密码为空,我们需要设置一下,执行脚本:

<code class="shell hljs bash">$ <span class="hljs-built_in">sudo</span> mysql_secure_installation</code>
로그인 후 복사

这个脚本会经过一些列的交互问答来进行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:

<code class="shell hljs lasso">$ mysql <span class="hljs-attribute">-uroot</span> <span class="hljs-attribute">-p</span></code>
로그인 후 복사

按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。
这里写图片描述

最后我们将MariaDB设置为开机启动。

<code class="shell hljs bash">$ <span class="hljs-built_in">sudo</span> systemctl enable mariadb</code>
로그인 후 복사

让外网可以进行链接

<code class="mysql hljs lasso">mysql<span class="hljs-subst">></span> grant <span class="hljs-literal">all</span> <span class="hljs-keyword">on</span> <span class="hljs-subst">*</span><span class="hljs-built_in">.</span><span class="hljs-subst">*</span> <span class="hljs-keyword">to</span> <span class="hljs-string">'root'</span>@<span class="hljs-string">'%'</span> identified <span class="hljs-keyword">by</span> <span class="hljs-string">'root'</span>;mysql<span class="hljs-subst">></span> flush privileges;</code>
로그인 후 복사

安装composer

composer的大名,我就不想介绍了,如果你是一个phper,没用过,我也就不怪你,毕竟但是他现在才刚过1.0版,但是如果听都没听过,请面壁去……

安装说明

<code class="php hljs ">$ php -r “readfile(‘https:<span class="hljs-comment">//getcomposer.org/installer‘);” > composer-setup.php</span>$ php composer-setup.php$ php -r “unlink(‘composer-setup.php’);”</code>
로그인 후 복사

上述 3 条命令的作用依次是:

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

全局安装composer

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

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

<code class="php hljs ">$ sudo mv composer.phar /usr/local/bin/composer</code>
로그인 후 복사

然后执行:
composer -v
这里写图片描述
由于composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包

<code class="php hljs ">$ composer config -g repo.packagist composer https:<span class="hljs-comment">//packagist.phpcomposer.com</span></code>
로그인 후 복사

查看composer的配置文件
vim /root/.composer/config.json
这里写图片描述
看到以上内容,表示配置成功!


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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Nginx403을 해결하는 방법 Nginx403을 해결하는 방법 Apr 14, 2025 am 10:33 AM

Nginx 403 금지 된 오류를 수정하는 방법은 무엇입니까? 파일 또는 디렉토리 권한을 확인합니다. 2. 확인 파일을 확인하십시오. 3. nginx 구성 파일 확인; 4. nginx를 다시 시작하십시오. 다른 가능한 원인으로는 방화벽 규칙, Selinux 설정 또는 응용 프로그램 문제가 있습니다.

nginx403 오류를 해결하는 방법 nginx403 오류를 해결하는 방법 Apr 14, 2025 pm 12:54 PM

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.

Linux에서 Nginx를 시작하는 방법 Linux에서 Nginx를 시작하는 방법 Apr 14, 2025 pm 12:51 PM

Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

Windows에서 nginx를 구성하는 방법 Windows에서 nginx를 구성하는 방법 Apr 14, 2025 pm 12:57 PM

Windows에서 Nginx를 구성하는 방법은 무엇입니까? nginx를 설치하고 가상 호스트 구성을 만듭니다. 기본 구성 파일을 수정하고 가상 호스트 구성을 포함하십시오. 시작 또는 새로 고침 Nginx. 구성을 테스트하고 웹 사이트를보십시오. SSL을 선택적으로 활성화하고 SSL 인증서를 구성하십시오. 포트 80 및 443 트래픽을 허용하도록 방화벽을 선택적으로 설정하십시오.

nginx304 오류를 해결하는 방법 nginx304 오류를 해결하는 방법 Apr 14, 2025 pm 12:45 PM

질문에 대한 답변 : 304 수정되지 않은 오류는 브라우저가 클라이언트 요청의 최신 리소스 버전을 캐시했음을 나타냅니다. 솔루션 : 1. 브라우저 캐시를 지우십시오. 2. 브라우저 캐시를 비활성화합니다. 3. 클라이언트 캐시를 허용하도록 nginx를 구성합니다. 4. 파일 권한을 확인하십시오. 5. 파일 해시를 확인하십시오. 6. CDN 또는 리버스 프록시 캐시를 비활성화합니다. 7. nginx를 다시 시작하십시오.

nginx가 시작되었는지 확인하는 방법 nginx가 시작되었는지 확인하는 방법 Apr 14, 2025 pm 01:03 PM

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

Nginx의 실행 상태를 확인하는 방법 Nginx의 실행 상태를 확인하는 방법 Apr 14, 2025 am 11:48 AM

nginx의 실행 상태를 보는 방법은 다음과 같습니다. PS 명령을 사용하여 프로세스 상태를보십시오. nginx 구성 파일 /etc/nginx/nginx.conf를 봅니다. Nginx 상태 모듈을 사용하여 상태 끝점을 활성화하십시오. Prometheus, Zabbix 또는 Nagios와 같은 모니터링 도구를 사용하십시오.

nginx 오류 로그를 청소하는 방법 nginx 오류 로그를 청소하는 방법 Apr 14, 2025 pm 12:21 PM

오류 로그는/var/log/nginx (linux) 또는/usr/local/var/log/nginx (macOS)에 있습니다. 명령 줄을 사용하여 단계를 정리하십시오. 1. 원래 로그를 백업하십시오. 2. 빈 파일을 새 로그로 만듭니다. 3. Nginx 서비스를 다시 시작하십시오. 자동 청소는 Logrotate 또는 구성과 같은 타사 도구와 함께 사용할 수도 있습니다.

See all articles