-
全分享 发表于
-
2018-07-24
-
(403)
-
vagrant
-
aweb.cc
## 下载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