zoukankan      html  css  js  c++  java
  • WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

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

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

    配置vagrant和virtualbox

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

    vagrant box add CentOs7.0 D:softVagrantfilepackage.box
    
    CentOs7.0 是给虚拟机起的名字 D:softVagrantfilepackage.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.vagrantmachinesdefaultvirtualboxprivate_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:WindowsSystem32driversetchost文件
    如果没有权限用管理员身份运行记事本,在记事本中打开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 重启生效,如果报错可能是添加有误或伪静态规则有误。

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

    LNMP相关配置文件位置
    Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
    添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
    MySQL配置文件:/etc/my.cnf
    PHP配置文件:/usr/local/php/etc/php.ini
    php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

    使用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脚本放到桌面

    启动环境:

        

    关闭环境:

        

    使用时双击即可.

  • 相关阅读:
    python处理字符串类型的公式并计算结果
    Python之sklearn学习
    查看python安装的包
    Qt配置Qwt
    Qt开启C++线程里并访问界面
    Matlab的nargin、nargout
    sql获取行数
    C++/QT打印当前行文件名和行数
    QString::number保留小数
    Qt:setGeometry: Unable to set geometry 2170x1017+0+23 on QWidgetWindow/'MainWindowWindow
  • 原文地址:https://www.cnblogs.com/wangziyue/p/8718056.html
Copyright © 2011-2022 走看看