环境:virtual box 6.0.12 ubuntu 16.04.6 php7.0 nginx 1.16.1 mysql 5.7.27
目标:通过虚拟机的php,nginx安装以及配置,可以在本地机器的浏览器中访问虚拟机中的php文件.
一、安装过程
前期准备:
注意:1.virtual box中虚拟机的安装步骤一直enter就好,需要注意的是语言尽量选择english不然在后面的安装中可能出现问题
2. 网络设置为桥接网卡模式,不然后面本机无法访问虚拟机。如果切换成桥接网卡没有网络,检查你的网络是否需要登录验证,可以尝试连接手机热点,我开始就是在公司内网中切换桥接后没有网络,baidu怎么修改都没成功,最后连接手机热点成功ping通。
首先安装nginx以及mysql和php
到这里保证你的网络模式是桥接模式,可以ping通,ifconfig生成ip地址这几个条件。
之后进行相应的安装。
$ sudo apt-get update
$ sudo apt-get install nginx
$ sudo apt-get install mysql-server-5.7 mysql-client-5.7
$ sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom
安装好之后
修改配置文件 vim /etc/nginx/sites-enabled
1> 找到root /var/www/html; 这是默认访问地址,如果不修改,那么url访问地址就是ip/html
2>将下面内容进行修改
vi /etc/php/7.0/fpm/pool.d/www.conf文件中的+36行添加
listen=/run/php/php7.0-fpm.sock //与nginx中的fastcgi_pass中的目录一致
二、调试
首先输入地址ip如果出现
表示nginx工作正常,
其次在虚拟机对应root设置的目录下创建phpinfo.php文件,比如root设置中目录是/var/www那么你要访问/var/www/phpinfo.php需要输入ip/phpinfo.php 如果出现phpinfo.php里面的对应输出代码内容表示环境搭建成功。
注意点:访问ip
应该是上面enp0s3的172.xxx.xxx.xxx地址,而不是localhost或者127.0.0.1
****第一次安装搭建lnmp收获:第一次安装坑还是有的,比如网络切换桥接没有网络问题,卡了几天才发下是因为连的网络问题,baidu的nginx配置看似大体相同却又在某些配置文件中修改不一,因为也都版本各不相同;其次访问nginx有,但是对应php目录却访问不到,发现是default中的root路径和url访问路径不同,导致404访问不到。在这些问题解决之后,终于看到hello world,有多了一些fastcgi或者php-fpm的一些影子,在后面的学习中需要对他们的作用和功能更深一步的学习。****
后面会继续在这个lnmp基础上实现本地代码和虚拟机代码的同步上传(本地和虚拟机的文件共享) 搭建laravel框架,添加或者实现一些小的网页项目功能展示。
文件共享(本地和虚拟机关联文件夹)
在virtual box目录下会有VBoxGuestAdditions文件
之后先在本地目录自定义一个文件夹进行后面的共享关联,例如D:\share,然后在virtual box中进行设置
选择好之后进入虚拟机中在右下角的磁盘中右键选择
选中VBoxGuestAdditions.iso光盘后在命令行中输入以下内容:
mount -t vboxsf test /var/www/share
将共享文件夹为test的目录共享到虚拟机的/var/www/share中(首先在/var/www下mkdir一个share文件)
设置好之后在本地测试新建一个文件 如果在虚拟机的对应目录下相应增加文件表示共享成功。
=================未完待续===========================
博文若存在问题或者错误,欢迎下方吐槽~