一、vagrant安装
1.下载VirtualBox vagrant centos-7.0-x86_64.box
2.安装VirtualBox
3.安装vagrant
4.进入centos-7.0-x86_64.box所对应的目录
vagrant box add centos7 centos-7.0-x86_64.box //给box制定名称
vagrant init centos7 //进行初始化
vagrant up //启动(进入目录启动)
相关配置:
注:Vagrant命令详解
命令 作用
vagrant box add 添加box的操作
vagrant init 初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up 启动本地环境
vagrant ssh 通过ssh登录本地环境所在虚拟机
vagrant halt 关闭本地环境
vagrant suspend 暂停本地环境
vagrant resume 恢复本地环境
vagrant reload 修改了Vagrantfile后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant box remove 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态
2、搭建开发环境(PHP)
1)更新nginx相关源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
2)为nginx设置开机启动
systemctl start nginx
systemctl enable nginx
3)安装epel与remi源(是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。安装时一定需要注意一下自己系统的版本。)
remi源种包含最新的PHP相关信息,如:php7、MySQL等,因此为了便捷获取php7的最新信息,也需要安装一下这个源。(如果下载比较慢可以用迅雷等软件下载到本地之后用本地文件安装)
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
4)安装iptables防火墙
默认centos7自带的firewalld防火墙,可以关闭centos7自带的firewalld,启用自己熟悉的iptables
systemctl stop firewalld.service
systemctl disable firewalld.service #防止开机启动
yum install iptables-services #安装iptables
systemctl start iptables.service #启动iptables防火墙
systemctl enable iptables.service #开机自动启动
5)编辑iptables配置
设置外网可访问端口 22 80 3306 6379等
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
6)PHP7.0的安装
查看remi源中可安装的php信息
yum list --enablerepo=remi --enablerepo=remi-php70 | grep php70
yum install --enablerepo=remi --enablerepo=remi-php70 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-pecl-xdebug php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common php-json php-imap php-pecl-redis php-pecl-memcached php-pecl-mongodb
php -v #可以查看当前安装的php版本信息。
systemctl start php-fpm
systemctl enable php-fpm #设置开机自启动
7)配置nginx可以访问php
进入nginx的文件配置中心
cd /etc/nginx/conf.d/
cp default.conf php.conf # 复制默认的配置文件
vim编辑default文件。将监听端口改为9090, 因为后面我们自己的php.conf会用到80端口。
listen 8080
vim编辑php.conf文件(直接替换成一下文字)
server {
listen 80;
server_name localhost;
charset utf-8;
root /vagrant/www;# 自己的项目目录,也就是php项目所在目录
location / {
# 请注意,一定要加index.php这项
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 注意此处变量的不同
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
---------------------------------------------------------------------------
systemctl reload nginx #重新启动nginx
测试访问
在/vagrant/www下新建一个文件index.php
<?php
phpinfo();
?>
http://127.0.0.1:8080/index.php
systemctl reload php-fpm #使用过程中如果增加模块,重新启动php-fpm
8)Mariadb的安装
# 安装
yum install mariadb-server
# 启动服务
systemctl start mariadb
# 开机启动
systemctl enable mariadb
9)MariaDB的安全配置
MariaDB默认root密码为空,我们需要设置一下,执行脚本:
sudo mysql_secure_installation
Enter current password for root (enter for none):
初始root密码为空,我们直接敲回车进行下一步。
Set root password? [Y/n]
设置root密码,默认选项为Yes,我们直接回车,提示输入密码,在这里设置您的MariaDB的root账户密码。
Remove anonymous users? [Y/n]
是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续。
Disallow root login remotely? [Y/n]
是否禁止root用户远程登录?如果您只在本机内访问MariaDB,建议按默认设置,回车继续。 如果您还有其他云主机需要使用root账号访问该数据库,则需要选择n。
Remove test database and access to it? [Y/n]
是否删除测试用的数据库和权限? 建议按照默认设置,回车继续。
Reload privilege tables now? [Y/n]
是否重新加载权限表?因为我们上面更新了root的密码,这里需要重新加载,回车。
10)命令登录MariaDB
mysql -uroot -p
sudo systemctl enable mariadb #MariaDB设置为开机启动
grant all on *.* to 'root'@'%' identified by 'root'; #让外网可以进行链接
flush privileges;
11)安装composer
安装说明:
#下载安装脚本(composer-setup.php)到当前目录。
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
#执行安装过程。
php composer-setup.php
#删除安装脚本 – composer-setup.php 。
php -r "unlink('composer-setup.php');"
12)全局安装composer
#Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
sudo mv composer.phar /usr/local/bin/composer
composer -v #查看版本号
#由于composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包
composer config -g repo.packagist composer https://packagist.phpcomposer.com
#查看composer的配置文件
vim /root/.config/composer/config.json