vagrant初次Web项目配置
Posted whsw423
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vagrant初次Web项目配置相关的知识,希望对你有一定的参考价值。
之前已经配置好了vagrant,接着就要把项目配置到虚拟机里。
使用工具:
1. vagrant_1.7.4
2. VirtualBox-5.0.14
3. putty_V0.63
4. 虚拟机 centos 64位版本
项目框架:
1. Laravel 5.0
项目配置
下载Laravel 5.0
下载Laravel5.0,具体方法见Laravel 安装指南。
配置
1. 将下载好的框架放入与虚拟机同步的文件夹下(可以直接下载到此处),并且设好项目名字,后面会用。
2. 修改项目配置文件。
之前因为虚拟机里的项目路径在/www文件路径下,/www处于vhost文件下 。现在vhost文件夹下配置项目配置文件
# ls 是linux的展开当前文件夹指令
cd vhost
ls
展开vhost文件,已经有两个项目配置文件,同时发现并没有/www文件夹(后面再说)
myforum、resume是自己配置的,app、manage是自己使用的box所带的别人的。
#运行指令 复制app.iyz.com.conf文件的内容到XXX.XXX.com.conf里
cp app.iyz.com.conf XXX.XXX.com.conf
#使用指令 打开复制生成的文件
vi XXX.XXX.com.conf
#然后按i ,开始修改文件
只需修改如图里的部分即可,然后按Esc退出修改,输入 :x ,回车保存退出文件。
运行指令cd www无效
没接触过的都会这种犯错,我自己就是
此处应运行指令
cd /www
ls
这里是已配置的两个项目。
完成后开始配置hosts(C:\\WINDOWS\\system32\\drivers\\etc)文件。
在此处输入vagrantfile文件中配置的ip地址,后面的服务名要和前面配置文件中修改后的XXX.XXX.com一样。
完成保存后,重启虚拟机。在浏览器里输入XXX.XXX.com即可访问。
该页面是Laravel5的默认页面,如果出现此页面,说明配置成功。
后面就可以在本地框架里修改项目。
初次配置Web项目遇到的问题
1. 配置完成后访问被拒绝
基本我配置好后访问被拒绝都是服务器的问题
我的虚拟机里装的是nginx反向代理服务器,所以
#输入
nginx
出现以上情况,说明服务器正常启动。若没有。那就是服务器未启动。应仔细检查之前项目配置文件或者服务器配置文件中是否出现问题。
我遇到情况是:在修改项目配置文件时,手残把一个花括号删掉了,导致服务器未启动。这种情况有时候遇到能检查起来很蛋疼,但没办法。如果实在太麻烦,可复制app文件修改后重启试一试。
2 . Vagrant下共享目录静态文件(js/jpg/png等)“缓存”问题
这个问题比较蛋疼,当时遇到后整个人都不好了,开始以为是路径引起的问题,检查后并没有问题。重启大法什么都不管用,最后在网上一篇博客看到:
其实对于nginx来说,你只需要修改配置文件(nginx.conf)中的一行重启就能简单的解决这个问题:
sendfile off;
找到 nginx.conf ,把里面的 “sendfile on” 修改为 “sendfile off”。
当然,如果你使用Apache也可能遇到类似的问题,那么同样也有类似的配置需要修改:
EnableSendfile off
nginx.conf文件位置: cd /etc/nginx
原博客地址:https://blog.smdcn.net/article/1325.html 非常感谢博主!
3. 访问出现file not found
这个问题当时遇到时感觉不可思议,因为之前是可以正常为访问的,怎么都搞不定。查找配置这些也是正常的,后经学姐提醒,我又去/www文件夹下,发现之前配置的项目全都找不到了,顿时惊了!所以这应该是本地与虚拟机之间文件同步的问题。
试了几次才发现,通过vagrant启动虚拟机,文件同步正常。而通过virtualbox启动虚拟机就无法同步。查了一下,virtualbox要同步共享文件需要安装增强包,然后进行系列配置才可以,而我出现file not found是因为直接从virtualbox启动虚拟机而没有提前配置。而从vagrant启动虚拟机,vagrantfile的配置文件里我们提前已经设好的配置会使虚拟机自动进行同步,所以同步正常。
小结
初学者总归遇到一些感觉困难的问题,慢慢来吧,会有办法解决的。
更正
最开始
以上是关于vagrant初次Web项目配置的主要内容,如果未能解决你的问题,请参考以下文章
vagrant配置(假设已经安装好了vagrant并且下载好了box)
Vagrant安装完lnmp后,配置linux和windows共享文件并配置虚拟主机访问项目
使用 localhost 从主机访问 Vagrant 机器上的 symfony Web 服务器