摘要:啟動,輸入驗證安裝是否成功,如果出現版本信息表示成功。安裝注意官方推薦的是。如果上述命令執行失敗,需要確認是否是最新版本。和配置文件中的保持一致在目錄下運行命令啟動這個提示是沖突,更改即可。再執行,首次啟動會有一個初始化過程查看狀態。
如果是工程化開發,走正規軍路子還是推薦使用 Homestead。下載Vagrant。官方下載地址
這里下載的是Windows版本的安裝包。直接點擊安裝即可,安裝過程中可自定義安裝路徑。Windows+r啟動cmd,輸入vagrant -v驗證安裝是否成功,如果出現版本信息表示成功。
注:如果你使用的是 Windows,需要開啟系統的硬件虛擬化(VT-x),這通常可以通過 BIOS 來開啟。如果你是在 UEFI 系統上使用 Hyper-V,則需要關閉 Hyper-V 以便可以訪問 VT-x。預裝軟件
Homestead 可以運行在 Windows、Mac 以及 Linux 等主流操作系統上,預裝的軟件和工具列表如下:
Ubuntu 16.04
Git
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
Nginx
Apache(可選)
MySQL
MariaDB(可選)
SQLite3
PostgresSQL
Composer
Node(With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
Elasticsearch(可選)
ngrok
使用 Homestead 之前,需要先安裝VirtualBox,以及 Vagrant,所有這些軟件包都為常用操作系統提供了一個便于使用的可視化安裝器,通過安裝界面引導就可以完成安裝。
2.安裝 Vagrant box注意: Laravel官方推薦的Shell是Git Bash。因為Git Bash自動將~(tilde)映射到用戶根目錄下(例如,C:UsersMyUserName),而如果使用Windows自帶的cmd,那么需要使用%HOMEDRIVE%%HOMEPATH%環境變量來進入正確的文件夾。
VirtualBox 和 Vagrant 安裝好了之后,在終端中使用如下命令將Homestead Vagrant box laravel/homesterad 添加到 Vagrant 中
vagrant box add laravel/homestead
選擇virtualbox選項,進入下載等待,時間取決于網絡。如果上述命令執行失敗,需要確認 Vagrant 是否是最新版本。網絡或者機器關機中斷后一直報錯 Failed to connect to vagrantcloud-files-production.s3.amazonaws.com port 443: Timed out之類的錯誤。還有解壓錯誤等。可能是跟網絡有關系,再試幾次就成功了(可以用管理員打開cmd去試試)。國內網絡也就這樣了,不行就移步手動下載。
x ubuntu-16.04-amd64-disk001.vmdk: gzip decompression failed bsdtar.EXE: Error exit delayed from previous errors.
使用vagrant box list命令確認是否安裝了box。
也可以選擇手動下載安裝,laravel/homestead box下載地址vagrant cloud 下載地址,https://app.vagrantup.com/laravel/boxes/homestead/versions/5.2.0/providers/virtualbox.box
如果你需要下載不同版本(或最新版本),請將以上地址中versions/后的數字版本號替換成相應的版本號。
和virtualbox.box放置在同一個目錄。執行vagrant box add laravel/homestead ~/Downloads/virtualbox.box添加。后邊的~/Downloads/virtualbox.box是文件存放路徑。
Vagrant 2.0.3有問題,報Invalid file://hostname/, expected localhost or 127.0.0.1 or none。
3. 安裝 Homestead選擇任意目錄作為Homestead目錄。如:F:,在這個目錄下執行clone
git clone https://github.com/laravel/homestead.git Homestead
然后進入克隆下的目錄 cd Homestead/
// Mac/Linux... bash init.sh // Windows... init.bat
在 Homestead 目錄下運行 init.bat 命令來創建 Homestead.yaml 配置文件,生成的 Homestead.yaml 配置文件文件位于當前 Homestead 目錄。如果git Base 執行 bash init.sh。
完成后會生成Homestead.yaml和Vagrantfile。
--- #`Homestead.yaml`配置文件: # 虛擬機ip ip: "192.168.10.10" # 虛擬機使用內存 memory: 2048 # 虛擬機使用的單核CPU cpus: 1 # Vagrant 提供者 provider: virtualbox # 公共ssh key authorize: ~/.ssh/id_rsa.pub # 私有ssh key keys: - ~/.ssh/id_rsa # 共享文件夾 folders: - map: ~/code to: /home/vagrant/code # 站點配置 sites: - map: homestead.test to: /home/vagrant/code/public # 數據庫名 databases: - homestead # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # 端口轉發 # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp variables: - key: APP_ENV value: local
如果sites在配置Homestead框后更改屬性,則應該重新運行以更新虛擬機上的Nginx配置,vagrant reload --provision
修改本地host文件:在 Mac 或 Linux上,該文件位于 /etc/hosts,在 Windows 上,位于 C:WindowsSystem32driversetchosts。和配置文件中的ip保持一致
192.168.10.10 homestead.test
在 Homestead 目錄下運行 vagrant up 命令啟動
這個提示是ip沖突,更改ip即可。
手動下載的,執行vagrant up 時還是提示找不到,這是因為手動引入的box版本問題
解決方法就是,進入Homestead/scripts 下的 homestead.rb文件,做以下修改即可。
vagrant reload --provision 重啟。再執行vagrant up,首次啟動會有一個初始化過程
vagrant status 查看狀態。running狀態啟動成功。
4. 相關管理命令vagrant up :啟動虛擬機
vagrant halt :關閉虛擬機
vagrant reload --provision 重啟
vagrant suspend: 暫停虛擬機,就是掛起
vagrant resume :恢復虛擬機
vagrant box remove xx: 移除box,其中 xx 是 box 名稱
vagrant destroy :刪除虛擬機
從vagrant up 啟動界面可以看到ssh登錄地址和端口:
默認賬戶密碼是:vagrant。使用ssh登錄工具登錄即可。
6. 連接mysql要通過本地的 Navicat 或 Sequel Pro 連接到 Homestead 上的 MySQL 或 Postgres 數據庫,可以通過新建連接來實現,主機 IP 都是 127.0.0.1,對于 MySQL 而言,端口號是 33060,對 Postgres 而言,端口號是 54320,用戶名/密碼是 homestead/secret
在vagrant box 上安裝PHP擴展
這里以安裝MongoDB擴展為例:
1. 首先安裝mongodb數據庫
`apt-get update` 更新源,也可以不更新,包的新舊問題
sudo apt-get install -y mongodb
2. 安裝mongodb擴展
pecl update 通道升級 `sudo pecl channel-update` `pecl install mongodb` php7 以上的版本,默認最新
修改配置文件。特別注意,vagrant中需要修改兩處,不然會出現在 php -m 和 phpinfo()打印出來的不一致。
* `sudo vim /etc/php/7.2/fpm/php.ini` 第一處 * `sudo vim /etc/php/7.2/cli/php.ini` 第二處
添加extension=mongodb.so進去。然后重啟php-fpm。
執行命令: sudo service php7.2-fpm restart
這樣就可以通過php -m 和phpinfo()輸出結果,顯示是一致的。
vagrant 中的版本較多,可以通過ll /etc/alternatives/php 查看默認的版本。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28581.html
摘要:下面的參數是根據需要在壓縮或解壓檔案時可選的。備注了解過程省略這里添加了模塊生成文件使用系統庫沒有用到庫使用系統庫這些路徑是要了解的這是配置文件 資源1: 官網: http://nginx.org資源2: 官方學習資源, ????wiki,???? nginx安裝之wiki介紹資源3: 編譯選項列表資源4: nginx源碼下載列表,當前Stable版本是nginx-1.14.0,資源5...
摘要:下面的參數是根據需要在壓縮或解壓檔案時可選的。備注了解過程省略這里添加了模塊生成文件使用系統庫沒有用到庫使用系統庫這些路徑是要了解的這是配置文件 資源1: 官網: http://nginx.org資源2: 官方學習資源, ????wiki,???? nginx安裝之wiki介紹資源3: 編譯選項列表資源4: nginx源碼下載列表,當前Stable版本是nginx-1.14.0,資源5...
摘要:我下載到了本機上與打通的文件夾中,再進入,執行以下命令用代號取代的發行版本代號,本系統是所以代號為通過執行,在文件尾部中添加,以下代碼保存,相關編輯操作請谷歌。安裝的前提是,已經安裝成功。 最近因為工作開始接觸Yii,之前開發使用laravel習慣用vagrant。所以,這次嘗試著打造一個box,專門用來寫Yii框架的項目。 在這次打造box,收獲了很多:1)更加熟悉了nginx的配...
摘要:是什么是一個用編寫的開源機器學習服務器應用,可以幫助你方便地使用搭建推薦引擎。是一個可伸縮的機器學習庫,它提供眾多聚集分類過濾算法。我為什么要關心我決定學習是因為我想使用一個可以幫助我加上機器學習功能的庫。 編者注:我們發現了比較有趣的系列文章《30天學習30種新技術》,準備翻譯,一天一篇更新,年終禮包。下面是第四天的內容。 今天是30天學習30種新技術的第4天。到目前為止我很享...
閱讀 791·2021-11-12 10:36
閱讀 3369·2021-09-08 10:44
閱讀 2743·2019-08-30 11:08
閱讀 1397·2019-08-29 16:12
閱讀 2672·2019-08-29 12:24
閱讀 895·2019-08-26 10:14
閱讀 683·2019-08-23 18:32
閱讀 1172·2019-08-23 17:52