有很多站长在 VPS 上部署环境时,都通过 LNMP 一键安装包 安装 LNMP 环境。简单方便,不需要了解其中的各种细节,装好就能直接用了。
当然,如果想在 vagrant 里安装 lnmp 进行本地调试的时候,就又会遇到了一些坑了。所以,我这里列出几个常见的问题的解决方法,以 host-only
的 vagrant 来讲解(IP: 192.168.33.10)。
安装 LNMP
启动 vagrant 后,使用 vagrant ssh
登录虚拟机。执行下面的命令进行安装(以 1.3 版本为例):
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
安装完毕后,默认的网站文件地址都在 /home/wwwroot/
下。如果直接访问 192.168.33.10
,那么显示的是 /home/wwwroot/default
目录。
修改挂载目录及权限
回到宿主机编辑 Vagrantfile
文件,按下面的方式增加:
# config.vm.synced_folder "../data", "/vagrant_data" # 这行注释掉
# 改为
config.vm.synced_folder "../dev", "/home/wwwroot/dev",
owner: "www", group: "www"
参数解释:
../dev
是宿主机里需要挂载的目录;/home/wwwroot/dev
是虚拟机里的访问路径;由于 lnmp 的特殊定义,所以我们需要把
owner
和group
权限都赋予www
,否则会出现访问为 404 或者 403 Forbidden 之类的错误。
配置好后 vagrant load
一下,此时在虚拟机的 /home/wwwroot/dev
里就能看到我们本地的 ../dev
里文件了,后面我们将要安装的 typecho 位于 ../dev/typecho
下,那么在虚拟机里就是 /home/wwwroot/dev/typecho
了。
添加虚拟主机
根据 教程,我们添加一个域名为 typecho.local
的网站。然后来到 /usr/local/nginx/conf/vhost/
目录,可以看到名为 typecho.local.conf
的文件,这就是刚刚创建的网站的 nginx 配置。打开这个网站,可以看到 nginx 指向的网站目录:
#root /home/wwwroot/typecho.local; # 将这条注释掉
root /home/wwwroot/dev/typecho; # 改为 typecho 在虚拟机的位置
重启 nginx:
sudo nginx -t # 检测 conf 文件是否正确
sudo service nginx restart
安装其他程序
当然,记得修改 hosts 把 typecho.local
指向 192.168.33.10
然后访问 http://typecho.local
,是不是看到了熟悉的安装界面呢,请按你的方式进行下一步吧。
其他插曲:
lnmp 1.3 版本和之前不同,默认安装 typecho 访问页面会出现 404 的情况,只需要将对刚才的 typecho.local.conf
文件里的 include enable-php.conf;
改为 include enable-php-pathinfo.conf;
即可。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。