Skip to content

Commit

Permalink
Update WSL case #208 #207 #206 #205
Browse files Browse the repository at this point in the history
  • Loading branch information
khs1994 committed Mar 9, 2018
1 parent d551b50 commit 24ddf3c
Show file tree
Hide file tree
Showing 3 changed files with 169 additions and 14 deletions.
43 changes: 36 additions & 7 deletions windows/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# WNMP 环境搭建
# WNAMP 环境搭建

由于 `Docker For Windows` 不太稳定,这里记录一下 Plan B WNMP 开发环境。

Plan C WSL 请查看 [WSL 快速搭建 LNMP 环境](https://www.khs1994.com/php/development/wsl.html)
由于 `Docker For Windows` 不太稳定,这里记录一下 Plan B `WNAMP` 开发环境。

为了在任意目录执行命令,请设置系统环境变量 `PATH`,这里不再赘述。

Expand All @@ -12,6 +10,37 @@ Plan C WSL 请查看 [WSL 快速搭建 LNMP 环境](https://www.khs1994.com/php/

MySQL、Apache 设置为服务之后会开机自启动,在服务管理中将启动类型设为手动,避免开机自启。

**部分软件使用 `WSL` 来安装运行。**

# wsl

> 存在 WSL 打开 PHP 页面缓慢的问题,解决办法请查看下方的文章
Plan C `WSL` 请查看 [WSL 快速搭建 LNMP 环境](https://www.khs1994.com/php/development/wsl.html)

## 安装 wsl.sh 脚本

```bash
# 打开 PowerShell
$ cd $HOME

$ bash

$ pwd

/mnt/c/Users/90621 # 此值与下方 WSL_HOME 的设置值对应

$ sudo vi /etc/profile

export WSL_HOME=/mnt/c/Users/90621 # 与上方值对应

# 保存重新登录

$ sudo ln -s $WSL_HOME/lnmp/windows/lnmp-wsl.sh /usr/local/bin

$ chmod +x /usr/local/bin/lnmp-wsl.sh
```

## MySQL

https://dev.mysql.com/downloads/mysql/
Expand Down Expand Up @@ -253,13 +282,13 @@ Apache https 出现问题,暂时解决不了。

## PowerShell 脚本

为了方便的管理 `WNMP`,这里有一个脚本 `./windows/wnmp.ps1` ,使用之前在该文件开头修改好软件路径
为了方便的管理 `WNAMP`,这里有一个脚本 `./windows/wnamp.ps1` ,使用之前在该文件开头修改好软件路径

```bash
$ ./windows/wnmp.ps1 start | stop | restart | status | ps
$ ./windows/wnamp.ps1 start | stop | restart | status | ps
```

也可以将 `C:\Users\90621\lnmp\windows\wnmp.ps1` 加入 `PATH`,在任意目录执行 `wnmp.ps1 command`
也可以将 `C:\Users\90621\lnmp\windows\wnamp.ps1` 加入 `PATH`,在任意目录执行 `wnamp.ps1 command`

## More Information

Expand Down
133 changes: 133 additions & 0 deletions windows/lnmp-wsl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
#!/bin/bash

set -e

function _start(){
for soft in "$@"
do
echo -e "\nStart $soft ...\n"
case "$soft" in
redis )
sudo redis-server \
/etc/redis/redis.conf \
--pidfile /run/redis.pid
;;

mongodb )
sudo mongod \
--fork --logpath=/var/log/mongodb/.error.log \
--pidfilepath /run/mongodb.pid
;;

memcached )
sudo memcached \
-uroot \
-d \
-P /run/memcached.pid
;;

php )
sudo php-fpm \
-D \
-g /run/php-fpm.sock
;;

nginx )
sudo nginx -t
# sudo nginx -g "pid /run/nginx.pid;"
sudo nginx
;;

* )
sudo service $soft start
;;
esac
done
}

function _stop(){
for soft in "$@"
do
echo -e "\nStop $soft ... \n"
case "$soft" in
php )
sudo kill $(cat /run/php-fpm.pid)
;;

nginx )
# sudo nginx -s stop -g "pid /run/nginx.pid;"

sudo nginx -s stop
;;

redis )
redis-cli shutdown
;;

memcached )
sudo kill $(cat /run/memcached.pid)
;;

mongodb )
sudo kill $(cat /run/mongodb.pid)
;;

* )
sudo service $soft stop
;;
esac
done
}

_restart(){
for soft in "$@"
do
_stop $soft
_start $soft
done
}

if [ -z "$1" ];then
exec echo -e "
lnmp-wsl.sh start | restart | stop SOFT_NAME
lnmp-wsl.sh start | restart | stop all
"
fi

if [ "$1" = stop ];then
shift
if [ "$1" = 'all' ];then
set +e
clear
_stop nginx mysql php redis memcached mongodb ssh
exit 0
fi
_stop "$@"
exit 0
fi

if [ "$1" = start ];then
shift
if [ "$1" = 'all' ];then
set +e
clear
_start nginx mysql php redis memcached mongodb ssh
exit 0
fi

_start "$@"
exit 0
fi

if [ "$1" = restart ];then
shift
if [ "$1" = 'all' ];then
set +e
clear
_restart nginx mysql php redis memcached mongodb ssh
exit 0
fi
_restart "$@"
exit 0
fi
7 changes: 0 additions & 7 deletions windows/wsl.sh

This file was deleted.

0 comments on commit 24ddf3c

Please sign in to comment.