当前位置:首页 > 服务器运维 > 正文内容

【原创】Windows10+WSL配置本地PHP测试环境

Z先生4年前 (2021-08-11)服务器运维770

为什么?

我为什么要这样做

为什么不直接在win环境下搭建呢?
个人原因有一下两点

  1. php的某些功能只有在linux下才能更好的体现,比如Workerman下的GatewayWorker

  2. 我自己办公的电脑是综合性的,也就是我的工作不仅仅是开发,还有其他工作需要处理,以及还有前端的事情需要处理,这个时候,我根本不需要web、php、mysql这样的需求,我就不想让他启动(强迫症吧)。

为什么不用虚拟机呢?

自己做过尝试,文件没法直接编辑啊,通过网络虚拟挂盘的方式页都测试过,不是太方便。

WSL基本需求

首先确保你的系统支持wsl,具体安装不在这里坳述。
另外通过命令行+系统名可以直接进入wsl
如:cmd命令行下执行debian直接进入debianwsl
命令行直接通过wsl启动当前已安装的子系统

初始配置环境,以debian为例子

以root权限运行

进入wsl,输入以下指令,输入三次密码,第一次当前用户的密码,第二次root权限密码,第三次root权限二次确认密码

sudo passwd

然后执行su,输入刚才设定root密码就进入root权限了

wsl默认进入root权限

debian config --default-user root

如果是ubuntu系统那么前面的debian换成ubuntu或者ubuntu2004

环境配置,BT面板

debian默认没有安装wget,所以需要先安装wget

切换deb源

文件在/etc/apt/sources.list
windows下面大概是在:C:\Users\用户\AppData\Local\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\etc\apt
/etc/apt/sources.list文件内容修改为:

deb http://mirrors.163.com/debian/ buster main non-free contrib
deb http://mirrors.163.com/debian/ buster-updates main non-free contrib
# deb http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ buster main non-free contrib
# deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
# deb http://deb.debian.org/debian buster main
# deb http://deb.debian.org/debian buster-updates main
# deb http://security.debian.org/debian-security/ buster/updates main
# deb http://ftp.debian.org/debian buster-backports main

然后运行命令

sudo apt update

基本组件wget和curl安装

sudo apt-get install wget
sudo apt-get install curl

目录配置

BT面板默认安装目录是/www
为了操作方便,咱们来做一个软连接,我E:\linux作为/www的主目录,那么就执行以下指令
WSL下,/mnt里面是本地磁盘,字母对应Windows下的对应盘符

ln -s /mnt/e/linux /www

BT安装

curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh

一路默认下来,然后进入BT面板进行环境设置,我选择的是:nignx 1.20+php 7.4+mysql 5.6,其他的能不多装就不多装。
wsl环境下,网络访问和本机一样,因此可以通过:http://127.0.0.1:8888进入BT面板,其他的也是一样。

其他设置

网站目录和备份目录的问题,既然知道了/mnt下面是本地磁盘,那么其他的就自由发挥想想吧。

使用以及启动

重启后wsl中的各项服务是没有启动的,所以呵呵~美啦
根据各种情况来启动服务,先建立2个快捷方式
nginx快捷方式

ln -s /etc/init.d/nginx /usr/bin/httpd

mysql快捷方式

ln -s /etc/init.d/mysqld /usr/bin
  • 启动BT面板,经过测试,必须启动bt面板,web访问才能正常

    bt start
  • 启动nignx

    httpd start
  • 启动mysql

    mysqld start

常见问题

第一次安装完成后,添加的网站,访问的时候必然提示503服务器内部错误,电脑重启下通过以上几个命令重启服务即可。初步判断应该是权限的问题。

其他疑惑

Q:WSL窗口关掉后,服务是否正常
A:正常

Q:关于性能
A:经过实际开发测试,作为服务来说,性能严重不足,php+mysql经常相应超时。所以选择这个模式的时候慎重

分享给朋友:

相关文章

西部数码有多垃圾,这里不想说了!

西部数码有多垃圾,这里不想说了!

西部数码有多垃圾,这里不想说了!所谓的独立单核,独享1G内存,峰值宽带12M这一切都是幌子罢了。一套老程序:ASP+ACCESS数据库(550m左右大小)。动不动就访问不到,有问必答提交后,就不停的建...

php支持PDO链接MSSQL数据库

php支持PDO链接MSSQL数据库

1、所需插件和驱动(1)DOBC Driver官方地址:https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-f...

一些低危提示漏洞的处理

无关痛痒的一些漏洞HTTP X-XSS-Protection 响应头缺失HTTP X-Download-Options 响应头缺失HTTP X-Content-Type-Options 响应头缺失HT...

Centos GIT强制更新、默认保存密码

输入一下命令,运行的时候,第一输入正确的账号密码系统会自动记录git config --global credential.helper store克隆git clone http://git地址.g...

网站压力测试之ab命令

一、什么是ab?ab是apachebench命令的缩写。ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apa...

Ceontos挂载Windows共享当本地硬盘使用

1、自动挂载 //192.168.128.1/wwwroot /wwwroot cifs defaults,username=user,password=000000 0 02、临时挂载...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。