28. vagrant 操作 => mysql、防火墙、端口映射

原文链接: github.com/ly525/blog/…
应用场景: 本地开发机器是mac或者Linux、windows,需要模拟发布到centos服务器的流程

注意执行该命令位置(pwd) /home/someone/

  1. 已有box, 位置: /home/someone/centos.box
  2. vagrant box add --name centos_for_dev /home/someone/centos.box
  3. vagrant init centos_for_dev
  4. 会发现在 /home/someone/有一个文件 VagrantFile
  5. vagrant up && vagrant ssh 登录centos_for_dev 机器
  6. 自动登录, 用户名和密码都是 vagrant
  7. 端口映射

    1. 场景: 需要在vagrant中开启mysql,供host机器访问
    2. config.vm.network "forwarded_port", guest: 8000, host: 3306 其中host为宿主机(比如widdows或者mac机器),guest为vagrant内的虚拟机。
    3. 这样在本地访问执行mysql -u root -p的时候,访问本地3306端口的mysql,实际上访问的是vagrant中的端口为8000的mysql
      1. vagrant reload 重新加载配置文件
      2. vagrant up 启动机器,vagrant ssh登陆机器之后执行下面操作
      3. sudo vim /etc/sysconfig/iptables 编辑防火墙,开启8000端口,供外部访问
      4. -A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT
      5. 重启防火墙 service iptables restart
  8. 文件映射

    1. 场景: dev环境: Mac 或 windows, production环境: centos。需要针对服务器制定一些脚本或者目录,方便部署。因此需要将dev代码目录映射到vagrant目录,实现dev改了代码之后,和production环境(vagrant,生产环境)代码保持一致,方便调试。不用再使用scp或rsync更新代码了。
    2. config.vm.synced_folder "/home/someone/code/", "/opt/code"
    3. 这样宿主机的/home/someone/code/目录下的代码修改了之后,vagrant虚拟机的/opt/code目录下的代码会同步更新,或者说二者指向同一份文件
    4. vagrant reload 重新加载配置文件
  9. scp 同步文件

     vagrant plugin install vagrant-scp
     scp -P 2222 your_file vagrant@127.0.0.1:/home/vagrant/复制代码
  10. vagrnat up 开机

  11. vagrant halt 关机
  12. 创建新用户centos
    1. 在Vagrant机器中 useradd centos 创建centos用户。
    2. 在Vagrantfile中,添加配置config.ssh.username = "centos"

更多参见官网文档 Get Started

转载于:https://juejin.im/post/59e93eec51882578c67389fc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值