欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

程序员文章站 2022-07-02 21:15:28
版本:win10系统 virtualbox:5.1.26 vagrant :1.9.7 centos 7.0 xshell/git 首先下载好对应版本的软件 配置vagrant和virtualbox 一.把虚拟机加载到box容器中 二.找一个/新建一个目录,例如vagrant,然后初始化环境 初始化 ......

 

版本:win10系统
  virtualbox:5.1.26
  vagrant :1.9.7
  centos 7.0
  xshell/git

首先下载好对应版本的软件

配置vagrant和virtualbox

一.把虚拟机加载到box容器中

vagrant box add CentOs7.0 D:\soft\Vagrantfile\package.box

CentOs7.0 是给虚拟机起的名字 D:\soft\Vagrantfile\package.box 是box路径也就是centos7.0

二.找一个/新建一个目录,例如vagrant,然后初始化环境

#新建目录
mkdir vagrant
#打开此目录
cd vagrant
#初始化,CentOs7.0 为你上方设置的名字
vagrant init CentOs7.0

初始化成功后,本目录下会出现Vagrantfile这样一个文件,这个是vagrant的配置文件,后续的配置在这里修改

三.修改配置文件


1. 网络配置 端口映射,意思是将虚拟机的端口映射到主机的端口上,主机局域网内可以通过访问这个端口来访问到你虚拟机上的东西

config.vm.network "forwarded_port", guest: 80, host: 8080 打开注释

上述作用是将虚拟机的80端口映射到主机的8080端口上,那我直接访问主机的8080端口就相当于访问虚拟机的80端口

2.私有网络,只有主机才能访问虚拟机,主句局域网内成员不能访问的虚拟机的内容

config.vm.network "private_network", ip: "192.168.33.11" 打开注释

3. 共享目录 ../www是本地的文件 映射到/home/wwwroot/default

config.vm.synced_folder "../www", "/home/wwwroot/default"

 

四.启动虚拟机

vagrant up

输出:

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 192.168.33.11
    default: SSH username: vagrant
    default: SSH auth method: private key
    .......

如果不报错的话就是启动成功了...

 

五.连接虚拟机使用(xshell/git)工具

ip:192.168.33.11(上面设置的私有网络)
用户名:vargant 密码是私钥 文件位置:D:\vagrant1\.vagrant\machines\default\virtualbox\private_key

(也可以在Vagrantfile文件中设置登录密码和用户名
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
用xshell工具登录时的用户名和密码)
然后使用vagrant status 命令,查看是否正在运行。

搭建lnmp环境一键安装嘻嘻嘻
附上:lnmp官网 https://lnmp.org/install.html

1. yum install screen
  screen -S lnmp
2. 下载并安装LNMP一键安装包:
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp
如提示wget: command not found ,使用yum install wget 或 apt-get install wget 命令安装。
根据提示操作
3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK
lnmp环境安装完成

********lnmp环境搭建完成后想要访问项目就要配置虚拟主机

    LNMP添加、删除虚拟主机及伪静态

    附上官网:https://lnmp.org/faq/lnmp-vhost-add-howto.html

第一步/ 添加网站(虚拟主机)
lnmp vhost add
根据提示操作
虚拟主机配置文件在:/usr/local/nginx/conf/vhost/域名.conf

列出网站(虚拟主机) lnmp vhost list

第二步/ 配置本地host文件

win10:
C:\Windows\System32\drivers\etc\host文件
如果没有权限用管理员身份运行记事本,在记事本中打开host文件保存即可.
192.168.33.11 wzy.com

此时可以使用浏览器访问wzy.com [完成]

这时访问thinkphp文件会出现只能访问首页,项目其他页面都报404,解决方法是要引入伪静态

1.伪静态操作(访问项目要引入对应的伪静态文件)
伪静态规则文件需要放在/usr/local/nginx/conf/ 下面。(一键安装包提供了laravel.thinkphp等等伪静态)
添加的虚拟主机,打开后前半部分配置会显示如下:

WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

 

在root /home/wwwroot/www.vpser.net;这一行下面添加:
include thinkphp.conf;
上面的thinkphp.conf为伪静态文件,如需要其他伪静态文件自己创建个并上传到/usr/local/nginx/conf/ 下面并include 伪静态.conf; 加完保存

执行:/etc/init.d/nginx restart 重启生效,如果报错可能是添加有误或伪静态规则有误。

这时候就能正常访问项目了.

使用Navicat连接mysql时候没有权限访问,报1130 解决方法:

Linux下MySQL Error 1130 不能远程访问
使用xshell工具连接mysql
mysql -u root -p password
use mysql;
update user set host = '%' where user = 'root'; //这个命令执行错误时可略过
flush privileges;
select host, user from user; //检查‘%’ 是否插入到数据库中
quit;

vagrant命令:

vagrant up开启虚拟机

vagrant halt 关闭虚拟机

vagrant reload 重启

注意:关机前一定要关闭虚拟机

可以写两个bat脚本放到桌面

启动环境:

    WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

关闭环境:

    WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

使用时双击即可.