問題の説明、浮浪者CII仮想マシンタイムの枠組みの中でプロジェクトを開始するには問題ありませんが、あなたがlaravelプロジェクトを開始し、明らかに常識それと整合されていない、17Sがかかりますか?
この問題の原因は、IOが遅い原因仮想マシンの共有ファイルシステムです。新しいアプリケーションが要求にLaravel応答をインストールしたときに、あなたは600 +ファイル、特にボトルネックを読む必要があります。
追加:以下のプロのテスト可能な方法
1.ローカルのMacシステムをインストールする必要はありません、私はとてもアンちゃんと、各エラーの不明瞭な状況に設置されました
sudo rm /etc/exports
sudo touch /etc/exports
sudo chmod -R 777 exports #有权限问题的话加这一步
sudo vagrant halt
sudo vagrant up --provision #在启动过程中,会询问是否允许更改exports文件,直接允许就好
vagrant plugin uninstall vagrant-winnfsd #卸载插件
Vagrantfileファイル:2変更後
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "centos"
config.vm.boot_timeout = 360
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# config.vm.network "forwarded_port", guest: 82, host: 8082, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 83, host: 8083, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 84, host: 8084, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 85, host: 8085, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 86, host: 8086, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 87, host: 8087, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 3306, host: 33306, host_ip: "127.0.0.1"
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "localhost"
# config.vm.network "forwarded_port", guest: 81, host: 8081, host_ip: "localhost"
config.vm.synced_folder "../../../Users/liutao/Desktop/vagrant", "/home/wwwroot/default",nfs: true, nfs_udp: true
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
#私有网络
config.vm.network "private_network", ip: "192.168.33.11"
#端口转发
#config.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct: true
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network",ip: "192.168.33.10"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = "512"
end
#
# View the documentation for the provider you are using for more
# information on available options.
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# apt-get update
# apt-get install -y apache2
# SHELL
end
の/ etc / exportsファイルは、これは自動的にブートプロセスまで浮浪者で生成され、修正しました
# VAGRANT-BEGIN: 0 528272d2-254a-4d20-a6cb-19671440688c
"/Users/liutao/Desktop/vagrant" 192.168.33.11 -alldirs -mapall=501:20
# VAGRANT-END: 0 528272d2-254a-4d20-a6cb-19671440688c
正常に起動した後:
エラーの場合
sudo rm /etc/exports
sudo touch /etc/exports
sudo chmod -R 777 exports #有权限问题的话加这一步
================以下に、参考のためのものである==============
ベイグラント仮想計算機システム:CentOS6.5
:最初は、仮想マシンのネットワーク設定に入れprivate_networkの モード。
1、仮想マシンは、NFSサービスをインストールするには:
CentOSの5:
yum -y install nfs-utils portmap
CentOSの6:
yum -y install nfs-utils rpcbind
2は、MAC OSが統合されているNFSは、場合にのみ、新しいものではない、の/ etc / eProtSの文書を変更する必要があります
sudo vi /etc/exports 保持空文件即可
3、Vagrantfileファイルの変更
config.vm.synced_folder ".", "/vagrant", type: "nfs"
保存した後、コマンドを使用 放浪リロードを 有効にする仮想マシンを再起動した後、MAC OXの/ etc / exportsファイルの期間を変更します。マックは、アカウントのパスワードを入力するように求められます。入力することができます!
2015年2月2日最新更新:放浪の公式な説明は同期間中に発見されました
NFS同期フォルダは、NFSに固有のもので指定できるオプションのセットを持っています。これらは以下のとおりです。これらのオプションは、の最後の部分で指定することができるconfig.vm.synced_folder
とともに、定義 type
オプション。
nfs_export
(ブール値) -これがfalseの場合、ベイグラントは、あなたの変更されません/etc/exports
自動的に、あなたはまだ行ってきた前提としています。nfs_udp
(ブール値) - かどうかは、トランスポートとしてUDPを使用します。UDPは高速ですが(詳細はNFSのマニュアルを参照してください)いくつかの制限があります。trueにデフォルト設定されています。nfs_version
(文字列|整数) - ゲスト上のフォルダをマウントするときに使用するNFSプロトコルのバージョン。3このデフォルト設定されています。
あなたは、ファイルを無視するnfs_export真変更するプロパティを設定することができ、ファイルが設定されていると想定されます。
デフォルトでは、UDPプロトコルを使用しています。
NFSプロトコルのバージョンを使用:デフォルトは3です
NFSは、ウィンドウをサポート
vagrant plugin install vagrant-winnfsd
vagrant plugin list
プラグインのアンインストール:https://stackoverflow.com/questions/54294057/vagrant-up-problem-sh-netsh-command-not-found
vagrant plugin uninstall vagrant-winnfsd
gitがエラーをコミットします。
gitのプル报错:エラー:リポジトリデータベース.git /オブジェクトにオブジェクトを追加するには不十分許可
error: insufficient permission for adding an object to repository database .git/objects error: 无法创建树对象
ソリューション:成功の投稿
在客户端,我的是mac端
sudo chmod 777 -R .git/objects
即可
それ以外の場合:参考:ユーザアイデンティティNFSサービスマッピング [NAS] NFSクライアント書面による許可なしに、ディレクトリ・ソリューションをマウントした後、
=================== 参考のために、以下、それが動作していないと言われて =====================
アプリケーションの開発におけるホームステッドLaravelの使用、多くの場合、大幅に開発の経験に影響を与えた応答を、返す前に、時には10秒、あるいは数十秒、遅いウェブサイトの応答速度が発生します。
この問題の原因は、IOが遅い原因仮想マシンの共有ファイルシステムです。新しいアプリケーションが要求にLaravel応答をインストールしたときに、あなたは600 +ファイル、特にボトルネックを読む必要があります。
問題解決のための
ソリューションは、より高い効率NFSマウントIOモードを使用するように仮想マシンを持つことです。
最初のステップは、NFSサービスのインストール
、我々は仮想マシンのホスト・システム・サービス上でNFSをインストールする必要があります。
デフォルトNFSでサポートされているMacユーザーはマウントします。
Windowsユーザーは、インストール中に、あなたのGitのシェル(またはその他のWindowsシェル)で、次のコマンドを実行し、ベイグラントWinNFSdをインストールする必要があります。
$ vagrant plugin install vagrant-winnfsd
Ubuntuのユーザーは、NFSサービスをインストールするには、次のコマンドを使用することができます。
$ apt-get install nfs-kernel-server
第二段階は、設定変更
のタイプは、NFSマウント指定され、次のHomestead.yamlは、ファイルフォルダ内のドキュメントはマウント情報を変更します:
folders:
- map: ~/code
to: /home/vagrant/code
type: "nfs"
第三段階は、仮想マシンとアプリケーションを再起動することで
、我々はHomestead.yaml変更したので、--provisionパラメータは、仮想マシンを再起動するように変更して利用リロードするには、仮想マシンを適用する必要があります。
$ vagrant reload --provision
結論
上記の設定後は正常に行われ、通常の状況下では、あなたは1秒以内の応答速度を得ることができる必要があります。
転送リンクします。https://learnku.com/laravel/wikis/2555
setp 1 :centos安装nfs
yum install nfs-utils rpcbind
setp 2 :MAC OS已经集成nfs,只需要修改/etc/exports文件,如果没有则新建
setp 3 : Vagrantfile文件修改
config.vm.synced_folder "~/www", "/data", type: “nfs"
注:~/www为mac机器的目录。/data为虚拟机的目录。
保存后,使用命令 vagrant reload 重启虚拟机后才会生效,期间会修改MAC OX的 /etc/exports 文件。会提示输入mac账号的密码。输入即可!
然后,你会发现mac上的~/www 目录和虚拟机上的/data目录是互通的。开始配置你的网站吧
:ウィンドウにはを参照することが https://blog.csdn.net/ghostyusheng/article/details/64923272
参考:https://gist.github.com/ikennaokpala/79f033880ecd38272a411350c6d573c0