溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vagrant怎么搭建php7環(huán)境

發(fā)布時間:2021-04-27 11:47:51 來源:億速云 閱讀:191 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)vagrant怎么搭建php7環(huán)境,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

安裝nginx

首先需要跟新一些ngin的相關(guān)源。

$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm// 執(zhí)行安裝過程
$ yum install nginx

看到以下界面時,請稍等,如果需要輸入的地方,請直接按 y 然后回車。
vagrant怎么搭建php7環(huán)境

啟動nginx并設(shè)置為開機(jī)啟動

$ systemctl start nginx 
$ systemctl enable nginx

安裝epel與remi源

安裝epel,epel是Fedora小組維護(hù)的一個軟件倉庫項目,為RHEL/CentOS提供他們默認(rèn)不提供的軟件包。安裝時一定需要注意一下自己系統(tǒng)的版本額。

$ rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

2016-10-22日修改:

最近發(fā)上面的源不能用了。請大家自己在這里找對應(yīng)的版本
http://dl.fedoraproject.org/pub/
過不了墻的請用國內(nèi)鏡像
http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-8.noarch.rpm

remi源種包含最新的php相關(guān)信息,如:php7、mysql等,因此為了便捷獲取php7的最新信息,也需要安裝一下這個源。

$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

iptables防火墻

因為以前經(jīng)常使用iptables,對centos7自帶的firewalld防火墻不熟悉,因此我就將關(guān)閉centos7自帶的firewalld,啟用自己熟悉的iptables吧。

首先,關(guān)閉自帶的firewalld防火墻

$ systemctl stop firewalld.service 
$ systemctl disable firewalld.service #防止開機(jī)啟動

安裝iptables

$ yum install iptables-services

安裝進(jìn)程如下圖所示
vagrant怎么搭建php7環(huán)境

啟動iptables防火墻

systemctl start iptables.service systemctl enable iptables.service #開機(jī)自動啟動

編輯防火墻配置文件

為了我們在自己的主機(jī)上能夠順利訪問,需要開啟以下端口,
vim /etc/sysconfig/iptables
編輯防火墻,設(shè)置80(nginx) 3306(mysql/mariadb) 6379(redis)端口,外網(wǎng)可訪問
vagrant怎么搭建php7環(huán)境

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 可以查看當(dāng)前安裝的php版本信息。
vagrant怎么搭建php7環(huán)境

啟動php-fpm,因為nginx需要通過它來解析php程序

$ systemctl start php-fpm$ systemctl enable php-fpm #設(shè)置開機(jī)自啟動

配置nginx可以訪問php

進(jìn)入nginx的文件配置中心,

$ cd /etc/nginx/conf.d/# 復(fù)制默認(rèn)的配置文件 $ cp default.conf php.conf

首先先通過vim編輯default文件。將監(jiān)聽端口改為8080, 因為后面我們自己的php.conf會用到80端口。
vagrant怎么搭建php7環(huán)境

現(xiàn)在來編輯復(fù)制的php.conf文件,可以直接復(fù)制以下內(nèi)容,至于配置的含義,后面再開一篇文章來單獨(dú)講解吧。

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,才會使當(dāng)前的配置生效。

$ systemctl reload nginx

測試訪問

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

<?php
    phpinfo();

在瀏覽器中打開,訪問對應(yīng)的ip,可以看到輸出的php信息
vagrant怎么搭建php7環(huán)境

注:如果在使用過程中,有新增加的php模塊,需要重新啟動php-fpm

systemctl reload php-fpm

Mariadb的安裝

這里很多同學(xué)可能第一次聽說mariadb,他呢是mysql的一個重要分子,或者可以理解為mysql的替代品,自從mysql被控制后,更新速度已經(jīng)慢太多了。兩者的用法基本沒有區(qū)別,實際中有哪些坑,大家可以自己去踩一踩。哈哈,別說我不負(fù)責(zé)任。

# 安裝$ yum install mariadb-server# 啟動服務(wù)$ systemctl start mariadb# 開機(jī)啟動$ systemctl enable mariadb

MariaDB的安全配置

MariaDB默認(rèn)root密碼為空,我們需要設(shè)置一下,執(zhí)行腳本:

$ sudo mysql_secure_installation

這個腳本會經(jīng)過一些列的交互問答來進(jìn)行MariaDB的安全設(shè)置。

首先提示輸入當(dāng)前的root密碼:

Enter current password for root (enter for none):
初始root密碼為空,我們直接敲回車進(jìn)行下一步。

Set root password? [Y/n]
設(shè)置root密碼,默認(rèn)選項為Yes,我們直接回車,提示輸入密碼,在這里設(shè)置您的MariaDB的root賬戶密碼。

Remove anonymous users? [Y/n]
是否移除匿名用戶,默認(rèn)選項為Yes,建議按默認(rèn)設(shè)置,回車?yán)^續(xù)。

Disallow root login remotely? [Y/n]
是否禁止root用戶遠(yuǎn)程登錄?如果您只在本機(jī)內(nèi)訪問MariaDB,建議按默認(rèn)設(shè)置,回車?yán)^續(xù)。 如果您還有其他云主機(jī)需要使用root賬號訪問該數(shù)據(jù)庫,則需要選擇n。

Remove test database and access to it? [Y/n]
是否刪除測試用的數(shù)據(jù)庫和權(quán)限? 建議按照默認(rèn)設(shè)置,回車?yán)^續(xù)。

Reload privilege tables now? [Y/n]
是否重新加載權(quán)限表?因為我們上面更新了root的密碼,這里需要重新加載,回車。

完成后你會看到Success!的提示,MariaDB的安全設(shè)置已經(jīng)完成。我們可以使用以下命令登錄MariaDB:

$ mysql -uroot -p

按提示輸入root密碼,就會進(jìn)入MariaDB的交互界面,說明已經(jīng)安裝成功。
vagrant怎么搭建php7環(huán)境

最后我們將MariaDB設(shè)置為開機(jī)啟動。

$ sudo systemctl enable mariadb

讓外網(wǎng)可以進(jìn)行鏈接

mysql> grant all on *.* to 'root'@'%' identified by 'root';
mysql> flush privileges;

安裝composer

composer的大名,我就不想介紹了,如果你是一個phper,沒用過,我也就不怪你,畢竟但是他現(xiàn)在才剛過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)到當(dāng)前目錄。

  2. 執(zhí)行安裝過程。

  3. 刪除安裝腳本 – composer-setup.php 。

全局安裝composer

全局安裝是將 Composer 安裝到系統(tǒng)環(huán)境變量 PATH 所包含的路徑下面,然后就能夠在命令行窗口中直接執(zhí)行 composer 命令了。

Mac 或 Linux 系統(tǒng):打開命令行窗口并執(zhí)行如下命令將前面下載的 composer.phar 文件移動到 /usr/local/bin/ 目錄下面:

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

然后執(zhí)行:
composer -v
vagrant怎么搭建php7環(huán)境
由于composer的包都在國外,這里設(shè)置一下composer的配置,讓其每次運(yùn)行時,都使用國內(nèi)的包

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

查看composer的配置文件
vim /root/.composer/config.json
vagrant怎么搭建php7環(huán)境
看到以上內(nèi)容,表示配置成功!


至此,基本的php7環(huán)境搭建已經(jīng)完成了。然后呢,下一次說一說用vagrant搭建redis吧。當(dāng)然我不會僅僅只說redis的搭建額。到時候看啊吧!

關(guān)于“vagrant怎么搭建php7環(huán)境”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI