1. 程式人生 > >WIN10 vagrant和virtualbox虛擬機和一鍵搭建lnmp環境配置thinkphp虛擬主機

WIN10 vagrant和virtualbox虛擬機和一鍵搭建lnmp環境配置thinkphp虛擬主機

版本 瀏覽器 roo inf inter 偽靜態 軟件 生效 映射

版本: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等等偽靜態)
添加的虛擬主機,打開後前半部分配置會顯示如下:

技術分享圖片

在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虛擬主機