利用vagrant搭建rails开发环境
安装步骤
1. 安装 VirtualBox
虚拟机还是得依靠 VirtualBox 来搭建,免费小巧。
下载地址:https://www.virtualbox.org/wiki/Downloads
2. 安装 Vagrant
下载地址:http://downloads.vagrantup.com/
3. 添加镜像到 Vagrant
(1)获取官方封装好的基础镜像,我已经下载好了
(2)添加镜像到 Vagrant
我下载的镜像存放路径是 H:/vagrantbox/centos-7.0-x86_64.box,
创建一个开发目录 H:/centos7/,你也可以使用已有的目录,切换到开发目录里,在命令行进入当前工作目录
vagrant box add centos7 H:/vagrantbox/centos-7.0-x86_64.box
centos7是我们给这个 box 命的名字, H:/vagrantbox/centos-7.0-x86_64.box 是 box 所在路径;
(3)初始化开发环境
用 centos7 镜像初始化当前目录的环境。命令行下进入当前工作目录,执行下面命令进行初始化
(4)修改设置Vagrant
Vagrant 初始化成功后,会在初始化的目录里生成一个 Vagrantfile 的配置文件,可以修改配置文件进行个性化的定制。
config.vm.network :private_network, ip: "192.168.33.10"
重启虚拟机,这样我们就能用 192.168.33.10 访问这台机器了,你可以把 IP 改成其他地址,只要不产生冲突就行。
(5)启动和登录
你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了,剩下的步骤就是在虚拟机里配置你要运行的各种环境和参数了。
SSH 登录也可以使用客户端连接工具连接,使用xshell和putty都行
cd /vagrant也就是宿主机上的 `H:/centos7/`
H:/centos7/目录对应虚拟机中的目录是 /vagrant
(6)打包分发
当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包:
打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。
(7)常用命令
4.centos上安装ruby和rails(我用的是centos7,跟centos6安装步骤一样)
进入虚拟机默认用户名root密码vagrant,一般用户名是vagrant密码也是vagrant
如上,由于网络问题,如果下载没反应,那么久ctrl+c终止,然后再重新运行该命令。由于被墙原因,它会自动去跳转到github下载
然后根据提示执行命令source/etc/profile.d/rvm.sh就可以了,我的结果如下:
安装mysql
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
解决Mysql乱码问题,我们也可以在虚拟机中创建数据库之后在宿主机的Navicat上更改数据库编码为utf8,不过这样的话要在改完编码之后再插入数据,原来的数据编码方式还是latin1
在宿主机中访问虚拟机的mysql报错如下则是填写的虚拟机ip没写对,如果使用ssh登陆的话,navicat也要设置使用ssh验证方式登陆:
在虚拟机中操作数据库,如下错误,那就输入su,然后输入密码avgrant获取权限才能执行mysql操作: