vagrant_virtualbox_ubuntu打造跨平台统一开发环境

## 下载virtualbox

https://www.virtualbox.org/wiki/Downloads

## 下载vagrant

https://releases.hashicorp.com/vagrant/2.1.2/

## 获取操作系统

vagrant init ubuntu/trusty64 //官方镜像

vagrant box add ubuntu14 markor_lnmp.box // 本地镜像


## vagrant常用命令

```shell
vagrant box list #查看目前已有的box
vagrant box add  #新增加一个box
vagrant box remove #删除指定的box
vagrant package --output xxx.box 打包box

vagrant init        #初始化配置vagrantfile
vagrant up          #启动虚拟机
vagrant ssh         #ssh登录虚拟机
vagrant suspend     #挂起虚拟机
vagrant reload      #重启虚拟机
vagrant halt        #关闭虚拟机
vagrant status      #查看虚拟机状态
vagrant destroy     #删除虚拟机
```

## ubuntu14.04 防火墙设置

1、安装:

apt-get install ufw

2、启用:

ufw enable

ufw default deny

3、开启/禁用:

ufw allow 22/tcp   允许所有的外部IP访问本机的22/tcp (ssh)端口

ufw deny 22/tcp     禁止所有外部IP访问本机的22/tcp(ssh)端口

ufw delete deny 22/tcp 删除防火墙中的规则


## 安装LNMP

### nginx
```
sudo apt-get install nginx
```
### mysql
```
sudo apt-get install mysql-server
// cancle local bind
vim /etc/mysql/my.cnf
#bind-address           = 127.0.0.1
log_error = /vagrant/logs/mysql/error.log
log_slow_queries        = /vagrant/logs/mysql/mysql-slow.log
long_query_time = 1

# root 123abc

```
### php
```
// install php
sudo apt-get install php5-fpm php5-gd php5-cli php5-xdebug  php5-xhprof
php5-mcrypt php5-memcache php5-redis php5-curl php-mongo  

// 安装依赖
sudo apt-get install php5-dev libpcre3-dev
// install mongodb
sudo pecl install mongodb
//add extension=mongodb.so in fpm and cli:
vim /etc/php5/cli/php.ini
extension=mongodb.so

// install composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
// config setting
vim /etc/php5/fpm/pool.d/www.conf

#listen.allowed_clients = 127.0.0.1
#listen = 9000

vim /etc/php5/fpm/php.ini

display_errors = On
error_log = /vagrant/logs/php/php_error.log
date.timezone = Asia/Chongqing
[xhprof]
extension = xhprof.so
xhprof.output_dir = /vagrant/xhprof/output

// install xhprof graphviz
sudo apt-get install graphviz


```
### redis
```
sudo apt-get install redis-server
// cancle local bind
sudo vim /etc/redis/redis.conf
#bind 127.0.0.1
```
### memcached
```
sudo apt-get install memcached
```

### mongodb

```
sudo apt-get install mongodb
```

### nodejs npm cnpm

```
wget https://npm.taobao.org/mirrors/node/v10.6.0/node-v10.6.0-linux-x64.tar.xz
wget https://npm.taobao.org/mirrors/node/latest-v8.x/node-v8.11.3-linux-x64.tar.xz
tar xvf node-v10.6.0-linux-x64.tar.xz
sudo ln -s /home/tools/node-v10.6.0-linux-x64/bin/node /usr/local/bin/
sudo ln -s /home/tools/node-v10.6.0-linux-x64/bin/npm /usr/local/bin/
// install cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
// cnpm && npm install报错问题
npm install --no-bin-links --save-dev
```

## 注意问题

- vagrant box add name xx.box之后 vagrant init时候没有加上name 那样就是空的linux系统,打包中装的lnmp环境没有

  https://segmentfault.com/q/1010000000330893
- Vagrant 'permission denied' on Windows

https://stackoverflow.com/questions/32113501/vagrant-permission-denied-on-windows

## 使用说明

- 1- 安装vitrulbox
- 2- 安装vagrant
- 3- 获取box
- 4- 添加box

vagrant box add ubuntu1404 ubuntu1404.box
- 5- 初始化box

vagrant init ubuntu1404
- 6- 启动虚拟机

 vagrant up
- 7- 查看ssh密钥

```
 [D:\vagrant\ubuntu_1604_lnmp]$ vagrant ssh-config
 Host default
 HostName 127.0.0.1
 User vagrant
 Port 2222
 UserKnownHostsFile /dev/null
 StrictHostKeyChecking no
 PasswordAuthentication no
 IdentityFile C:/Users/hongkaiyan/.vagrant.d/boxes/ubuntu_1604_lnmp/0/virtualbox/vagrant_private_key
 IdentitiesOnly yes
 LogLevel FATAL
```

IdentityFile 即为密钥地址


## ubuntu qinghu

```
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
```

## ubuntu apt-get

```
sudo apt-get update  更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package  获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall  重新安装包
sudo apt-get -f install  修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package  下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
```


## 参考网站

- https://app.vagrantup.com/ubuntu/boxes/trusty64
- https://gitee.com/apanly/mooc/tree/master/vagrant
- Ubuntu14.04防火墙配置 https://blog.csdn.net/a_little_e/article/details/45843375
- qinghua https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
- nodejs https://npm.taobao.org/mirrors/node
- mongodb http://www.mongoing.com/docs/security.html
- mongodb 操作: https://blog.csdn.net/eagle89/article/details/80609343
- xhgui https://github.com/perftools/xhgui


版权及转载说明

本站原创、转载文章欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区

本站转载文章版权归原作者所有,如发现本站文章涉嫌侵权请点击「联系我们」反馈,本站将立即给予删除

转载请注明:文章转载自:全分享社区 「http://www.aweb.cc

本文标题:vagrant_virtualbox_ubuntu打造跨平台统一开发环境

本文地址:http://www.aweb.cc/article/detail/id/696.html

php的匿名函数实现递归查询 <<上一篇 下一篇>>vagrant_virtualbox打造