在win7中搭建Linux+PHP 开发环境
我用了3年多的Linux桌面,很是不爽,主要是各个软件的体验不够统一,太分裂,太多选择让人无从选择。
而回到Windows,则更糟糕,使用*nix工具集变得非常折腾,部署Web环境也很麻烦,而且我的服务器都是Linux的,代码里有些功能是不能运行在Windows上的。
因为我偶尔还打打游戏,一个月前,我还是选择回到Windows桌面。
但我下面的这些软件几乎都是跨平台的,如果你使用Linux桌面,也不会有什么影响的。
我的主机是Windows7x64,然后跑一个Arch的虚拟机,所有代码的运行和调试都在虚拟机中进行。
Arch虚拟机
Arch安装略折腾,但我喜欢它KISS的哲学,我用VirtualBox,分配512MiB甚至256MiB就够用了。
网络改成「桥接网卡」然后在路由器设置一个MAC绑定的固定IP,我给虚拟机的是192.168.0.105,而我主机的是192.168.0.100.
需要装的软件包最核心的有:openssh,nginx,mariadb,php,xdebug.
至于其他一些:vim,mongodb,php-mongo,phpmyadmin就看个人需要了。
直接在VirtualBox的虚拟机窗口上敲命令很不方便,我会装一个叫VirtuaWin的虚拟桌面软件,类似于KDE的Workspace(工作区),把VirtualBox的窗口丢到另一个桌面。
然后用XShell连SSH上去敲命令。
当然你还需要建一个非root账户来日常使用,我建了一个jysperm.
然后你可以修改/etc/php/php-fpm.conf:
user=jysperm
group=jysperm
这样PHP-FPM的进程会以你的用户来跑,读写文件不会遇到任何权限问题。
作为开发服务器,可能同时需要开发测试多个项目,每次都要去Nginx里面新建站点是很折腾的事情,下面的配置文件可以让你一劳永逸:
server{ listen80; server_name~(?<dir>.*)\.ab\.jyprince\.me$;
access_log/home/jysperm/nginx.access.log; error_log/home/jysperm/nginx.error.log;
indexindex.htmlindex.php; autoindexon;
root/home/jysperm/$dir;
location/{ try_files$uri$uri//index.php?$args; }
location~\.php${ fastcgi_passunix:/run/php-fpm/php-fpm.sock;
fastcgi_indexindex.php; includefastcgi_params; } }