迫于 windows 10 有内置的 ubuntu 子系统,我将可以不必在windows 系统中安装 php nginx mysql 等软件。直接使用系统内置的 ubuntu 子系统,部署基于linux 的服务器环境。
不得不说这个子系统除了有时候会些麻烦,但是这个设想这个设计真的很不错,这不是一个虚拟机般的存在,而是一个几乎和本身的 windows系统同级别般的存在,
当我打开这个“软件”的同时整个电脑就可以用 linux 方式 操作了,重点是在安装完之后每次打开只需要1秒钟(启动一个虚拟机需要多久)。
安装 子系统Ubuntu 18.04
- 打开 Microsoft Store (微软应用商店) 搜索 Ubuntu 18.04 会看到 Ubuntu 18.04 LTS 点击进入后点击获取,等待安装完。
- 使用管理员权限的 Windows PowerShell(管理员) 输入以下命令
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- 点击安装好的 Ubuntu 18.04 图标进入子系统
以下操作基于windows子系统ubuntu 18.04版本
安装 PHP
- 安装需要用的软件以及 PHP 的依赖包
sudo apt update
sudo apt install wget
sudo apt install gcc
sudo apt install gcc++
sudo apt install make
sudo apt install openssl
sudo apt install curl
sudo apt install libbz2-dev
sudo apt install libxml2-dev
sudo apt install libjpeg-dev
sudo apt install libpng-dev
sudo apt install libfreetype6-dev
sudo apt install libzip-dev
sudo apt install libxml
- 创建一个保存临时文件的文件夹
mkdir /tmp && cd /tmp
- 下载 PHP 并解压
wget https://www.php.net/distributions/php-7.3.4.tar.gz
tar -zxvf php-7.3.4.tar.gz
cd php-7.3.4
- 编译安装 PHP
./configure \
--prefix=/usr/local/php-7.3.4 \
--enable-fpm --enable-opcache
--with-config-file-path=/usr/local/php-7.3.4/etc \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-static \
--enable-sockets \
--enable-wddx \
--enable-zip \
--enable-calendar \
--enable-bcmath \
--enable-soap \
--with-zlib \
--with-iconv \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-xmlrpc \
--enable-mbstring \
--with-sqlite3 \
--with-curl \
--enable-ftp \
--with-openssl\
--with-gettext
编译安装,make实在是太慢了,后来才知道make可以多线程编译,于是加上参数 -j4)
sudo make -j4 && sudo make install
- 为了方便设置一个软链接(大概和windows上的快捷方式差不多)
ln -s /usr/local/php-7.3.4 /user/local/php
- 添加全局环境变量,在/etc/profile 文件最后添加一行
export PATH=$PATH:/usr/local/php/bin
- 使修改的环境变量生效
source /etc/profile
- 查看 php 版本
php -v
- 配置 PHP
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp /usr/local/php/sbin/php-fpm /etc/init.d/php-fpm
- 赋予 php-fpm 可执行权限
chmod +x /etc/init.d/php-fpm
- 启动 php-fpm
/etc/init.d/php-fpm start
安装 Nginx
- 安装 Nginx 依赖
sudo apt install build-essential
sudo apt install libtool
sudo apt install openssl
sudo apt install libpcre3
sudo apt install libpcre3-dev
sudo apt install zlib1g-dev
- 下载并解压(之前创建的tmp文件夹未创建则先执行
sudo mkdir /tmp
)
cd /tmp
wget http://nginx.org/download/nginx-1.15.12.tar.gz
tar -zxvf nginx-1.15.12.tar.gz
- 编译安装
cd nginx-1.15.12
./configure --with-http_ssl_module
sudo make -j4 && sudo make install
- 添加全局环境变量,在/etc/profile 文件最后添加一行
export PATH=$PATH:/usr/local/nginx/sbin
- 查看 Nginx 版本
sudo /usr/local/nginx/sbin/nginx -v
- 检查 Nginx 配置文件
sudo /usr/local/nginx/sbin/nginx -t
- 启动 Nginx
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- 重新加载配置文件
sudo /usr/local/nginx/sbin/nginx -s reload
- 关闭/停止 Nginx (2种方法)
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx -s quit
安装 MySQL
- 更新库
sudo apt-get update
- 安装 MySql
sudo apt-get install mysql-server
这将安装MySQL服务器的包,以及客户端和数据库公共文件的包。
在安装过程中,系统会要求您为MySQL安装的root用户提供密码。
重要:
确保记住您设置的root密码。想要稍后设置密码的用户可以在对话框中将 密码字段留空,只需按确定即可 ; 在这种情况下,对于使用Unix套接字文件的连接,将通过Socket Peer-Credential Pluggable Authentication对服务器的root访问进行身份 验证。您可以稍后使用程序mysql_secure_installation设置root密码
- 其他操作
查看数据库状态
sudo service mysql status
停止数据库
sudo service mysql stop
启动数据库
sudo service mysql start
网友评论