1. 1. 安装和配置
    1. 1.1. 安装
    2. 1.2. 配置
  2. 2. 多版本 PHP 切换
  3. 3. dnsmasq
  4. 4. laravel config
  5. 5. Windows 11 设置服务开机启动
  6. 6. Windows 10 设置服务开机启动

目前在 Windows 11 下可以完美使用 VSCode+WSL2 去开发 laravel。默认安装的Ubuntu 22.04.2 LTS,代号jammy。这里 WSL2 安装掠过,具体网络搜索。

安装和配置

安装

sudo apt-get update
sudo apt-get upgrade

# nginx
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install -y nginx
sudo service nginx start

# php
sudo add-apt-repository ppa:ondrej/php
sudo apt install php7.4 php7.4-bcmath php7.4-json php7.4-mbstring php7.4-xml php7.4-cli php7.4-fpm php7.4-curl php7.4-mysql php7.4-zip zip unzip
sudo service php7.4-fpm start

# mysql
sudo apt install mysql-server
# mysql配置
sudo mysql_secure_installation

# redis
sudo apt install redis-server
sudo apt install php7.4-redis
sudo service redis-server start

配置

php-fpm 配置

sudo nano /etc/php/7.4/fpm/pool.d/www.conf
listen= /run/php/php7.4-fpm.sock

配置 nginx,并测试访问

sudo nano /etc/nginx/sites-available/default
index index.php index.html index.htm index.nginx-debian.html;
location ~ \.php$
{
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}

多版本 PHP 切换

sudo update-alternatives --set php /usr/bin/php8.1

dnsmasq

这一步为了使用自动后缀.test,也有其他方式,例如路由器设置,这里掠过

address=/test/127.0.0.1

laravel config

开发环境下使用,更改 php-fpm 用户和组

sudo nano /etc/php/7.4/fpm/pool.d/www.conf

user = liboy
group = liboy

这一步配置目录权限,上面添加了用户目测可以略过…

# sudo chmod -R o+w storage/
# sudo chmod -R 775 storage/
# sudo chown $USER:www-data -R ~/Laravel/PBlog/
# sudo chmod u=+srwX,g=+srX,o=rX -R ~/Laravel/PBlog/
# sudo chown -R $USER:www-data storage bootstrap/cache

# sudo addgroup $USER www-data
# sudo chmod g+w /var/www -R

Windows 11 设置服务开机启动

目前已经支持 systemd,直接这样配置

#/etc/wsl.conf
[boot]
systemd=true

Windows 10 设置服务开机启动

不支持 systemd,曲线救国

vi /etc/init.wsl2

#! /bin/sh
service nginx start
service php7.4-fpm start
service mysql start
service redis-server start

新建文件ubuntu.vbs

Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d ubuntu -u root /etc/init.wsl2"

运行命令:win+R,输入shell:startup,将ubuntu.vbs放入文件夹中。