vagrant 安装与配置

安装VirtualBox (5.0)

直接来到官网 https://www.virtualbox.org/wiki/Downloads 点击下载最新的virtualbox,双击安装,一路傻瓜化完成。

 

安装Vagrant (2.0)

网上有说什么使用gem命令来安装的,建议大家别进这个坑了,直接到官网 https://www.vagrantup.com/downloads.html 下载

 

可能碰到问题:

1. vagrant up 启动失败, 报v-T 不可用, 通过设置防火墙 取消Hyper-v的勾选项

2. 设置VBoxManage.exe兼容性, C:\Program Files\Oracle\VirtualBox\VBoxManage.exe

 

===windows7下版本推荐=======================================

----------Vagrant 安装与配置--------------------
Vagrant安装
        vagrant_1.7.2.msi
        VirtualBox-4.3.40-110317-Win.exe

vagrant 报unknown filesystem type 'vboxsf' 解决方案, 装个插件
        $vagrant plugin install vagrant-vbguest
        $vagrant destroy && vagrant up


安装配置常见问题参考:
https://segmentfault.com/a/1190000002870336
https://segmentfault.com/a/1190000002869922 解决synced_folder mount问题
https://segmentfault.com/a/1190000002436885
https://www.cnblogs.com/suihui/p/4362233.html


##常用命令
$ vagrant init  # 初始化
$ vagrant up  # 启动虚拟机
$ vagrant halt  # 关闭虚拟机
$ vagrant reload  # 重启虚拟机
$ vagrant ssh  # SSH 至虚拟机
$ vagrant status  # 查看虚拟机运行状态
$ vagrant destroy  # 销毁当前虚拟机


当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包:
$ vagrant package
打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。


##Vagrant配置

###网络配置
Vagrant的网络有三种模式
        1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
              config.vm.network :forwarded_port, guest: 80, host: 8080
              guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

        2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
              config.vm.network :private_network, ip: "192.168.1.104"
              192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

        3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
              config.vm.network :public_network
 
###目录映射
              config.vm.synced_folder "wwwroot/", "/var/www"
              config.vm.synced_folder "/Users/bob/Documents/code/", "/var/www/", :mount_options => ["dmode=755","fmode=644"]
              前面的参数 “wwwroot/”  表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”,后面的参数 “/var/www” 表示虚拟机中对应映射的目录。

 $cd /etc/apt
 $sudo cp sources.list sources.list_bak0518 
 $sudo vim sources.list 

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

##解决add-apt-repository: command not found
sudo apt-get install software-properties-common python-software-properties

##列出软件版本
$ sudo apt-cache madison php5
$ sudo apt-cache policy  php5
$ sudo apt-cache showpkg  php5
$ sudo aptitude versions php5
$ sudo apt-cache show php5


sudo apt-get install python-software-properties

sudo add-apt-repository ppa:ondrej/pkg-gearman
sudo add-apt-repository ppa:ondrej/nginx-mainline
sudo add-apt-repository ppa:ondrej/php

sudo apt-get update
sudo apt-get install -y php5.6

##配置ssh
ssh-keygen -t rsa #使用rsa加密
$ssh-keygen -t rsa -C 'liuxuliang'

$ssh-agent bash
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add
$ssh-add ~/.ssh/id_dsa
从ssh-agent中删除密钥
$ssh-add -d ~/.ssh/id_xxx.pub
查看ssh-agent中的密钥
$ssh-add -l

##git安装配置
yum install git
yum update -y nss curl libcurl

##git操作
git config --global color.ui true
git merge mybranch (merge from mybranch)
git branch -d mybranch 删除分支
git branch -D mybranch 强制删除分支
git branch 列出所有分支
git branch -v 查看各个分支最后一次提交
git branch –merged 查看哪些分支合并入当前分支
git branch –no-merged 查看哪些分支未合并入当前分支
git fetch origin 更新远程库到本地
git push origin mybranch 推送分支
git merge origin/mybranch 取远程分支合并到本地
git checkout -b mybranch origin/mybranch 取远程分支并分化一个新分支
git push -u origin sean3.5 设置本地分支的默认push分支
git checkout --  src/enterprise/Api/User.php 撤回本地修改
git push origin :mybranch 删除远程分支
git log --name-status 每次修改的文件列表, 显示状态
git log --name-only 每次修改的文件列表
git log --stat 每次修改的文件列表, 及文件修改的统计
git log --after='2019-05-23' --graph --stat
git whatchanged 每次修改的文件列表
git whatchanged --stat 每次修改的文件列表, 及文件修改的统计
git show 显示最后一次的文件改变的具体内容

git tag 查看tag
git tag -a V1.2 -m 'release 1.2' 创建tag
git show V1.2 显示附注信息
git push origin --tags  同步到远程代码库
git tag -d V1.2 删除本地 V1.2的版本
git push origin :refs/tags/V1.2 删除线上版本
git fetch origin tag V1.2 获取远程版本

git diff-tree -r --author='zhangyi' --no-commit-id --name-only fda6e8a83230f6e2bf82fc3eff33eb705d121a33 a93f3b66e047474be18c26b1420110b71151b696
sudo git diff f4710c4a32975904b00609f3145c709f31392140 HEAD --name-only | cpio -pvdmu /var/www/git_update/update_201800001.tar


-- 从版本库中删除指定目录
.gitignore
git rm -r folder_path --cached 命令即可

##mysql配置
sudo grep 'temporary password' /var/log/mysqld.log 查看默认密码
mysql -uroot -peejVY2MLgS+e
mysql> set global validate_password.length=0; 修改:密码最小长度策略
mysql> set global validate_password.policy=0; 修改:密码强度检查等级策略
mysql> alter user 'root'@'localhost' identified by 'youpassword';  
or mysql> set password=password("youpassword");
mysql> flush privileges;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 开启mysql端口服务
service network restart 

##php5.6安装
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip

/usr/lib64/php/modules/
PHP Extension 20131226

mysqladmin -utest -ptest1 kill 7,8 杀掉某个客户端的链接
mysqladmin -utest -ptest1 processlist
mysqladmin -utest -ptest1 reload 重载授权表
mysqladmin -utest -ptest1 flush-privileges
mysqladmin -uroot -p shutdown 使用安全模式关闭数据库
mysqladmin -uroot -p refresh 刷新所有表缓存,并关闭和打开log
mysqlshow -uroot -p daba-test -v -v 统计daba-test 下数据库表的列数和行数

###online mysql 写延迟处理
mysql>  select * from information_schema.innodb_trx limit 10 \G;
select * from performance_schema.events_statements_current limit 10;
select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx\G;

information_schema :            INNODB_TRX,  INNODB_LOCKS,  INNODB_LOCK_WAITS

###查看数据库大小
use information_schema ;
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='db_9d_v2_online';

mysqldumpslow  -s r -t 10 


wget -O /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

Build process completed successfully
Installing '/usr/lib64/php/modules/redis.so'
install ok: channel://pecl.php.net/redis-4.3.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini


##vagrant 当前机器打包
$vagrant package --output d:\Vagrant\boxs\packages\centos6_v1_0.box
$vagrant package --output d:\Vagrant\boxs\packages\centos6_v1_1.box

----------Vagrant centos6.7 --------------------


##安装nginx
https://www.cnblogs.com/kevingrace/p/5761338.html

##安装php
-https://www.cnblogs.com/chy1000/p/5594562.html
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm;
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm;
yum list --enablerepo=remi --enablerepo=remi-php56 | grep php;
yum install --enablerepo=remi --enablerepo=remi-php56 php php-mysql php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common;
php -v;

##php启动
# service php-fpm start

##pecl 安装维护扩展


##mysql安装:
首先要到MySQL yum库的下载页面http://dev.mysql.com/downloads/repo/yum/
下载:mysql57-community-release-el7-11.noarch.rpm
安装:rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
yum安装server:
yum install mysql-community-server
yum安装client:
yum install mysql-community-client


##tshark抓包工具
$ yum whatprovides *tshark*
$ sudo yum install wireshark
$ sudo yum --enablerepo=base clean metadata
$ tshark -v


      
tshark -s 5120 -i eth1 -n -f 'tcp dst port 80' -R 'http.host and http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d '\t'  

###实时打印当前mysql查询语句
tshark -s 512 -i eth1 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query

  


##xdebug 配置
zend_extension=/usr/lib64/php/modules/xdebug.so

xdebug.auto_trace = on
xdebug.auto_profile = on
xdebug.collect_params = on
xdebug.collect_return = on
xdebug.profiler_enable = on

xdebug.default_enable = On
xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6

xdebug.profiler_output_dir=/home/vagrant/xdebug/profile
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=0

===============================


sbin/nginx -c conf/nginx.conf


##centos rpm安装缓存清理
 $ sudo  yum --enablerepo=base clean metadata

 === vagrant _centos6 启动=================
 $ssh-agent bash
 $ssh-add ~/.ssh/liuxuliang
 $ sudo service php-fpm start
 $ sudo service nginx restart


========================
use information_schema;
select table_name,table_rows from tables limit 10000;
mysql> select table_name,table_rows from tables where TABLE_SCHEMA='db_9d_v2_online' limit 10;
mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值