Vagarnt Virtual配置YII的教程

Vagarnt?Virtual配置YII的教程

目錄

1?下載并安裝virtualbox最新版

2?下載并安裝vagrant最新版

3 下載laravel/homestead 的virtual盒子

4?下載WEB項目

5?在項目根目錄下載homestead運行腳本

6?修改homestead.yaml配置文件

7?運行虛擬機

8?處理發(fā)現(xiàn)的問題

1、下載并安裝virtualbox最新版

https://www.virtualbox.org/wiki/Downloads

2、下載并安裝vagrant最新版

https://www.vagrantup.com/downloads.html

3、下載laravel/homestead 的virtual盒子

安裝homestead6.4版本,因為7.0版本時PHP5.6已經(jīng)被刪除掉了

自動添加box的命令

# vagrant box add laravel/homestead

一般下載速度會很慢,可以手動下載后再進(jìn)行本地裝載。

homestead Box訪問地址:https://app.vagrantup.com/laravel/boxes/homestead

v6.4.0下載地址:https://app.vagrantup.com/laravel/boxes/homestead/versions/v6.4.0/providers/virtualbox.box

本地裝載命令:

# vagrant box add laravel/homestead file:///e:/virtualbox.box

但是直接導(dǎo)入virtualbox.box文件會導(dǎo)致版本號為0,與實際不符。需要新建一個文件 `metadata.json` ,然后填寫對應(yīng)的版本信息:

{

? ? "name": "laravel/homestead",

? ? "versions": [{

? ? ? ? "version": "6.4.0",

? ? ? ? "providers": [{

? ? ? ? ? ? "name": "virtualbox",

? ? ? ? ? ? "url": "e:/virtualbox6.4.0.box"

? ? ? ? }]

? ? }]

}

-? `name` 添加的box名字

-? `version` :版本號

-? `providers.name` :虛擬主機類型

-? `providers.url` :box地址

`metadata.json` 準(zhǔn)備完成后,執(zhí)行以下命令添加:

#? vagrant box add metadata.json

導(dǎo)入完成后,通過以下命令可以看到導(dǎo)入的文件及版本號。

#? vagrant box list


4、下載WEB項目

# git clone 項目地址.project.git

5、在項目根目錄下載homestead運行腳本

由于最新的homestead腳本要求virtualBox7.0以上版本,而我使用得是6.4版本的Box,所以下載腳本時需要切換到7.14.2版本的tag

# git clone https://github.com/laravel/homestead.git?

# git checkout?v7.14.2

進(jìn)入homoestead目錄中,通過執(zhí)行init程序,初始化yaml配置文件、aliases別名文件以及after腳本

6、修改homestead.yaml配置文件

設(shè)置虛擬機的名稱

name: "my-test"

設(shè)置最大的內(nèi)存memory以及處理器數(shù)cpus,設(shè)置服務(wù)的提供者provider為virtualbox

ip: "192.168.61.13"

memory: 2048

cpus: 1

provider: virtualbox

設(shè)置ssh密鑰,一般情況下只要使用過git,在個人用戶文件夾下都會有.ssh文件夾,并擁有相應(yīng)的id_rsa.pub和id_rsa文件。如果不存在這兩個文件,則需要通過git命令中的SSH_key命令創(chuàng)建。 創(chuàng)建完成后,檢查yaml中的authorize和keys的文件路徑是否一致即可,如果路徑不一致或者文件不存在,都會導(dǎo)致創(chuàng)建虛擬機的時候無法正常登錄。

authorize: ~/.ssh/id_rsa.pub

keys:

? ? - ~/.ssh/id_rsa

設(shè)置folders共享目錄,map是指項目在windows的目錄,to是指項目在虛擬機中的目錄,通過folders的設(shè)置完成實體機和虛擬機中目錄文件的共享。

folders:

? ? - map: E:\workfile\yii

? ? ? to: /home/vagrant/code

設(shè)置網(wǎng)站,homestead使用nginx來搭建網(wǎng)站。其中map是指網(wǎng)站的域名,to指虛擬機中項目所在的目錄,php指當(dāng)前網(wǎng)站使用哪一個PHP版本。

sites:

? ? - map: yii.test

? ? ? to: /home/vagrant/code/web

? ? ? php: '7.2'

設(shè)置database數(shù)據(jù)庫名稱。

databases:

? ? - yii

非必須的設(shè)置:

設(shè)置ports端口轉(zhuǎn)發(fā)規(guī)則,send是指訪問的端口,to是指轉(zhuǎn)發(fā)到虛擬機中的端口。

設(shè)置blackfire,查看應(yīng)用性能,需要額外注冊第三方網(wǎng)站。

7、運行虛擬機

# vagrant up

如果變更了yaml配置后需要更新到虛擬機中,則使用 --provision?參數(shù)

# vagrant up/reload --provision

8、處理發(fā)現(xiàn)的問題

8.1、啟動后發(fā)現(xiàn)v7.14.2版本中,php56別名函數(shù)被移除掉了,手動將函數(shù)再加回到aliases文件中。

function php56() {

? ? sudo update-alternatives --set php /usr/bin/php5.6

? ? sudo update-alternatives --set php-config /usr/bin/php-config5.6

? ? sudo update-alternatives --set phpize /usr/bin/phpize5.6

}

8.2、完成啟動后運行網(wǎng)站發(fā)現(xiàn)php并沒有安裝php-memcache擴展,導(dǎo)致網(wǎng)站運行報錯,方法很簡單,并不需要ssh到虛擬機中操作,只需要利用homestead提供的after.sh腳本來完成擴展的安裝,如下:

#!/bin/sh

# If you would like to do some extra provisioning you may

# add any commands you wish to this file and they will

# be run after the Homestead machine is provisioned.

#

# If you have user-specific configurations you would like

# to apply, you may also create user-customizations.sh,

# which will be run after this script.

echo '開始更新apt-get'

sudo apt-get clean

sudo apt-get update

echo '結(jié)束更新'

echo '開始安裝php5-memcache擴展'

sudo apt-get install php5.6-memcache

echo '結(jié)束安裝'

echo '開始重啟PHP'

sudo service php5.6-fpm restart

echo '完成重啟PHP'


8.3、?

完成腳本編寫后再執(zhí)行以下命令即可。

# vagrant reload --provision


參考鏈接

vagrant box?下載地址:https://app.vagrantup.com/boxes/search?provider=virtualbox

homestead教程:https://www.codercto.com/a/23782.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡介 Laravel 致力于讓你在 PHP 開發(fā)過程中更加輕松愉快,這其中也包括本地開發(fā)環(huán)境的搭建。 Vagran...
    曼巴童鞋閱讀 2,443評論 0 3
  • 話說作為laravel的開發(fā)者,你聽說Homestead應(yīng)該很久了,可是官方推薦的開發(fā)環(huán)境在國內(nèi)為什么鮮有人用?我...
    學(xué)著放下閱讀 48,214評論 48 76
  • 連接雙手,用心體會。只有真正用心去體驗和感受對方才能真正的體會到你。感謝你們對我的信任,感謝你們用心帶領(lǐng)我們一路前...
    陳辛龍閱讀 151評論 0 0
  • 黃昏,一滴雨淹沒了九月 那些藍(lán)色的液體從星星的睫毛上墜落 像掉落的琴鍵,叮咚的錘過暗夜的沉寂 茂密的葡萄藤和樹木之...
    十一月湖水閱讀 1,167評論 0 1
  • 2016年11月14日 星期一 上學(xué)了,今天還是美術(shù)劉在這,不過孫老師還沒來,我就想:孫老師是不是不來了呀?但...
    水婉汝閱讀 235評論 0 0

友情鏈接更多精彩內(nèi)容