1.WSL2子系统安装CentOS8及源码编译Nginx1.18+PHP7.4+MySql8.0开发环境
2.LNMP LNMPA 504 Gateway Time-out错误解决方法
3.qlnmp简介
4.ubuntu14.04安装LNMP_MySQL
WSL2子系统安装CentOS8及源码编译Nginx1.18+PHP7.4+MySql8.0开发环境
一、源码WSL2安装CentOS8及源码编译Nginx1.+PHP7.4+MySql8.0开发环境
在前文中介绍了WSL(Windows Subsystem for Linux)以及在Win中的搭建安装与配置WSL2。首先,源码安装并配置WSL2后,搭建Ubuntu等Linux发行版可通过Windows应用商店直接安装。源码但为了与线上服务器环境一致,搭建网页 源码 分析这里介绍如何不通过应用商店手动安装适配WSL的源码Linux发行版,以 CentOS8为例。搭建
1. 安装Chocolatey
NuGet是源码一个用于.NET开发平台的软件包管理器,Chocolatey是搭建基于NuGet的一个软件包管理器,在Windows中可通过命令行安装程序。源码通过在PowerShell(管理员模式)中输入命令并执行,搭建可以安装Chocolatey。源码详细安装说明请查阅其官网文档。搭建
2. 安装LxRunOffline
LxRunOffline是源码一款用于管理WSL子系统的实用工具,能备份、创建、恢复、导出WSL子系统,同时支持安装适配WSL的接口调用平台源码任何Linux发行版,并允许将WSL子系统安装到任意目录。在PowerShell窗口中输入命令安装LxRunOffline,安装完成后重启PowerShell。
3. 下载CentOS镜像
GitHub上有开源的适用于WSL的CentOS系统安装镜像,通过选择CentOS8分支并进入docker目录,下载文件centos-8-x_.tar.xz。将下载的文件保存在指定路径,如D盘。
4. 安装CentOS镜像
通过输入特定命令并回车,可以将CentOS系统安装到C盘的centos文件夹下,并命名为centos。注意文件路径在Linux与Windows下不同,这里C盘路径用反斜线表示,D盘路径为Windows下的路径。
5. 升级为WSL2
使用命令查看已安装的WSL信息,并将指定的WSL发行版升级为WSL2,格式为:命令格式,输入并执行命令,设置默认使用的软件管家的源码发行版,再次使用命令查看,查看到centos的VERSION已变为2,并且名称前加了*号。
6. WSL子系统的启动与关闭
通过命令即可启动WSL子系统,停止WSL子系统的命令为:wsl --shutdown -n 系统名称。若直接输入wsl --shutdown会停止所有已启动的WSL子系统。此外,通过命令net stop LxssManager也可以停止WSL子系统。
7. 使用Windows Terminal
为了更好地配合WSL,安装Windows Terminal是必要的。通过Terminal可以直接打开所有已安装的WSL发行版,并根据需要调整配色方案。
8. 目录设置
在WSL2系统中可直接访问Windows磁盘文件,建议将安装软件包放在F:\wsl目录下,将网站Web程序放在E:\wwwroot目录中,访问路径为/mnt/f/wsl和/mnt/e/wwwroot。若性能降低超出可忍受范围,再考虑将这两个目录移动到WSL的虚拟磁盘。
9. centos8基本配置
查看centos版本,源码软件园安装wget、vim等工具,更换国内源并备份原始yum源,下载对应版本的repo文件,确保包含的源如aliyun符合需求。
. 源码编译安装Nginx
安装编译工具及库文件,如gcc、pcre、zlib、openssl等,下载并解压nginx源码,开始编译,检查系统环境、生成Makefile文件,生成脚本及配置文件,安装并创建目录,复制生成的模块和文件。
. 编译安装MySql8.0
下载并解压MySql8.0源码,解压后移动目录,棋盘最新源码创建data目录并初始化MySql,添加需要的库文件,创建my.cnf配置文件,启动MySql。
. 源码编译安装php7.4
下载php7.4源码,安装编译工具和库文件,创建用户组和用户,配置编译参数,解压缩并移动到指定目录,检查配置并生成配置文件,安装完成。
. LNMP环境测试
测试Nginx和PHP-FPM的配合,配置Nginx和PHP-FPM,通过phpinfo文件验证php和Nginx的配合情况,测试phpMyAdmin,确保数据库连接无误,至此,LNMP环境测试完成。
LNMP LNMPA Gateway Time-out错误解决方法
systems的VPS放那里很久没用,刚好W2被停了一些时日,实在无聊,想把美女还是放在上面,所以,直接卡擦重装了systems的VPS的系统,$刀的小内存,自然不弄面板了,直接LNMP,结果出现了意想不到的问题。VPS安装LNMPA一路比较顺利,貌似时间比较长,花了2小时左右(哎,够郁闷的,晚点写个systems$/年VPS的评测吧),下载源码,解压都不错,安装dedecms,完全OK。这个源码,是别人提供的,上传空间需要安装后再还原下数据,问题就在还原数据的时候出现了,每次均很快提示: Gateway Time-out!
因为后台要还原的数据文件很多,我发现,前面比较小的没问题,问题总是出现在恢复某个大的数据库文件上,首先想到可能是php执行时间问题,打开/usr/local/php/etc/,编辑php.ini文件:
max_execution_time 设置为0(或者高于目前值的数值)
重启过LNMP之后,忐忑的重新还原数据,OH,仍然,头疼,继续搜索解决方法。
编辑:/usr/local/apache/conf/extra/下的/mysql5/5.5/mysql-5.5..tar.gz`。
解压缩下载的包:`tar -xvf mysql-5.5..tar.gz`。 进入解压后的目录:`cd mysql-5.5.`。 安装编译所需的工具,如`sudo apt-get install cmake`和`g++`。 安装MySQL依赖库,使用命令`sudo apt-get install libncurses5-dev`。 使用`cmake .`进行编译准备,可能需要先删除`CMakeCache.txt`文件。 安装MySQL,执行编译和安装命令:`make`和`make install`。 创建MySQL组和用户,使用命令`groupadd mysql`和`useradd -r -g mysql mysql`。 更改MySQL文件权限,使用`sudo chown -R mysql .`和`sudo chgrp -R mysql .`。 创建数据库并初始化,执行`sudo scripts/mysql_install_db --user=mysql`。 更改MySQL文件权限为所有者和组所有:`sudo chown -R root .`和`sudo chown -R mysql data`。 生成MySQL配置文件,使用`sudo cp support-files/my-medium.cnf /etc/my.cnf`。 启动MySQL服务,使用命令`sudo bin/mysqld_safe --user=mysql &`。 测试MySQL服务是否正常运行,使用命令`/usr/local/mysql/bin/mysql`。 接下来,安装PHP: 下载PHP源码包,使用命令`wget 2.php.com/distributions/php-5.5..tar.gz`。 解压缩PHP源码包:`tar -xvf php-5.5..tar.gz`。 安装PHP所需依赖库:`sudo apt-get install libxml2-dev openssl libcurl3-openssl-dev libcurl4-gnutls-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libt1-dev libmcrypt-dev libxslt1-dev`。 进入PHP源码目录:`cd php-5.5.`。 配置编译参数:`./configure --prefix=/usr/local/php`和相关选项。 编译并安装PHP:`make`和`make install`。 生成PHP配置文件:`sudo cp ./php.ini-production /usr/local/php/etc/php.ini`。 启动PHP-FPM服务:`sudo /usr/local/php/bin/php-cgi -b &`。 最后,安装Nginx: 下载Nginx源码包:`wget http://nginx.org/download/nginx-1.7.0.tar.gz`。 解压缩Nginx源码包:`tar -xvf nginx-1.7.0.tar.gz`。 安装Nginx所需依赖库:`sudo apt-get install libpcre3 libpcre3-dev`。 进入Nginx源码目录:`cd nginx-1.7.0`。 配置Nginx编译参数:`./configure`和相关选项。 编译并安装Nginx:`make`和`make install`。 编辑Nginx配置文件:`sudo gedit /usr/local/nginx/conf/nginx.conf &`。 在配置文件中修改FastCGI参数,以与PHP-FPM连接。 启动Nginx服务:`sudo /usr/local/nginx/sbin/nginx &`。 完成上述步骤后,通过浏览器访问`.0.0.1`检查是否可以正常连接到MySQL,然后创建并测试PHP与MySQL的连接,确保LNMP环境搭建成功。