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

来源:https://www.cnblogs.com/wangziyue/archive/2018/04/04/8718056.html
-Advertisement-
Play Games

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

 

在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腳本放到桌面

啟動環境:

    

關閉環境:

    

使用時雙擊即可.

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一節跟大家講了Python的列表,當然不是完整的講完,後續我們還會提到,這一節我們還是來講Python的數據類型 首先要講到的就是元組 元組其實擁有列表的一些特性,可以存儲不同類型的值,但在某些方面元組又比不上列表 定義一個元組,你可以不用加‘ [ ] ’,你只需用逗號隔開即可 例如 元組也能被嵌 ...
  • 前言:說起threadpoolexector應該大家多少都接觸過,現在我詳細的講解下其的用法 一:解析參數 為了更好地理解threadpoolexecutor,我先講一個例子,話說一個工作多年的高T,一天突然決定自己要單干組織一個團隊,經過仔細的考慮他做出瞭如下的決定 1、團隊的核心人員為10個 2 ...
  • #!/usr/bin/python #coding=utf8 """ # Author: xiaoyafei # Created Time : 2018-04-04 17:14:20 # File Name: check_Nginx_conf.py # Description: """ import... ...
  • 給定一個字元串 s,找到 s 中最長的迴文子串。你可以假設 s 長度最長為1000。 示例: 示例: class Solution {public: string longestPalindrome(string s) { if(s=="") return ""; int max=1; string ...
  • 閱讀目錄 第一篇:python入門 第二篇:數據類型、字元編碼、文件處理 第三篇:函數 第四篇:模塊與包 第五篇:常用模塊 第六篇:面向對象 第七篇:面向對象高級 第八篇:異常處理 第九篇:網路編程 第十篇:併發編程 第十一篇:Mysql系列 更新中... 第一篇:python入門 第二篇:數據類型 ...
  • 把之前發表在微信公眾號的爬蟲系列文章遷移過來,熱熱身,就當備份了。 手把手教你寫網路爬蟲(1) 作者:拓海 摘要:從零開始寫爬蟲,初學者的速成指南! 封面: 大家好,《手把手教你寫網路爬蟲》連載開始了!在筆者的職業生涯中,幾乎沒有發現像網路爬蟲這樣的編程實踐,可以同時吸引程式員和門外漢的註意。本文由 ...
  • 會話跟蹤是Web程式中常用的技術,用來跟蹤用戶的整個會話。常用的會話跟蹤技術是Cookie與Session。Cookie通過在客戶端記錄信息確定用戶身份,Session通過在伺服器端記錄信息確定用戶身份。 本文將講解Cookie和Session以及它們的區別。 ...
  • php捷豹路虎 品牌全車零件訂購平臺( php源碼 )php+mysql 架構的平臺型 車零件訂購系統平臺軟體, 已做了數據採集。目前擁有捷豹路虎 幾十G的剖視圖、圖冊、系統(如發動機系統)、零件完整數據。 路虎、捷豹零件數據完整,包括這2款車的 系統圖冊、VIN車輛唯一識別碼查詢及其配件、每個系統 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...