手机网站引导页源码分享php(手机获取网站源码)

大家好,手机网站引导页源码分享php相信很多的网友都不是很明白,包括手机获取网站源码也是一样,不过没有关系,接下来就来为大家分享关于手机网站引导页源码分享php和手机获取网站源码的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

一、WSL2安装CentOS8

在前面的文章中介绍了WSL(Win-dowsSub-sys-temforLinux)、在Win10中的安装与配置WSL2。

WSL2——Windows10V2004版安装配置第二代Linux的Windows子系统

如文中所示,首先安装配置完成WSL2,然后Ubuntu20等Linux发行版在Windows应用商店(store)中直接点击安装即可。本人为了和线上服务器环境保持一致,想安装CentOS8,但是Windows应用商店中却没有包含CentOS。那么在安装好WSL之后,如何不通过store而手动安装适配WSL的Linux发行版呢?

1、安装Chocolatey

NuGet(读作NewGet)是用于微软.NET开发平台的软件包管理器,是一个VisualStudio的扩展。Chocolatey是基于NuGet的一个软件包管理器,就像Linux中的yum或apt一样,在Windows10中也可以用命令行安装程序了。

右键单击开始菜单,选择WindowsPowerShell(管理员),打开一个具有管理员权限的PowerShell窗口,输入命令并回车:

Set-ExecutionPolicyBypass-ScopeProcess-Force;iex((New-ObjectSystem.Net.WebClient).DownloadString(&39;))

完成后,输入命令:choco,如果能正确显示版本号,说明安装成功。

官网文档:https://chocolatey.org/docs/installation

2、安装LxRunOffline

LxRunOffline是非常实用的WSL管理软件,可以备份、创建、恢复、导出WSL子系统,也可以安装适配WSL的任何Linux发行版,可以将WSL子系统安装到任意目录中。

在PowerShell窗口中输入命令安装LxRunOffline,安装完成后重启PowerShell。

chocoinstalllxrunoffline-y

3、下载CentOS镜像

GitHub上有开源的适用于WSL的CentOS系统安装镜像,打开项目页面,选择CentOS8分支,进入docker目录,下载文件centos-8-x86_64.tar.xz,假如下载后保存在D盘下。

https://github.com/CentOS/sig-cloud-instance-images/tree/CentOS-8-x86_64/dockergithub.com

4、安装CentOS镜像

安装WSL子系统的命令行格式为:

LxRunOfflineinstall-n自定义系统名称-d安装目录路径-f安装包路径.tar.xz

重新启动PowerShell,输入命令安装CentOS镜像:

LxRunOfflineinstall-ncentos-dC:/centos-fD:\\centos-8-x86_64.tar.xz

表示将CentOS系统安装到C盘的centos文件夹下,并且命名为centos。注意:Windows系统命令行中的文件路径和Linux系统不同,这里安装目录C:/要用Linux方式的反斜线表示,是为了WSL使用;而安装包路径D:\\是为了LxRunOffline使用,是Windows下的路径。

查看所有已安装镜像,能够显示已安装的centos,表示安装成功。

LxRunOffline.exelist

如果安装失败也会出现centos目录,安装失败重新安装时需要卸载镜像,另外安装目录在C盘在卸载时可能存在权限问题,卸载后如果目录没有删除可以手动删除目录。

卸载WSL系统镜像命令:

LxRunOffline.exeuninstall-ncentos

5、升级为WSL2

输入命令并回车,列出已经安装的WSL的信息

wsl-l-v

将对应的WSL发行版设为WSL2,命令格式:

wsl–set-version<Distro>2

其中<Distro>要和上面查询到的信息一致,本例中为centos,输入以下命令并回车:

wsl–set-versioncentos2

输入以下命令并回车,设置默认使用的发行版:

wsl-dcentos

此时,再次使用命令wsl-l-v查看,可以看到centos的VERSION已经变为2,并且名称前加了*号(即默认的WSL系统)。

6、WSL子系统的启动与关闭

此时,输入命令wsl-dcentos即可启动。

停止WSL子系统命令:wsl–shutdown-n系统名称,如果直接输入wsl–shutdown,会停止所有已启动的WSL子系统。

在管理员权限的PoweShell中输入命令:netstopLxssManager,也可以停止WSL子系统。

7、使用WindowsTerminal

当然,为了更好的配合WSL,一定要安装WindowsTerminal。

Windows10安装最新版PowerShell及WindowsTerminal并美化

有了Terminal,可以直接打开所有已安装的WSL发行版:

Terminal的配色方案,可以参考:https://iterm2colorschemes.com/

8、目录设置

在WSL2系统中可以直接访问windows磁盘文件,因此为了不增加WSL系统VHD虚拟磁盘空间,我个人打算将一些安装软件包放在F:\\wsl目录下,将网站web程序放在E:\\wwwroot目录中。而在wsl系统中的访问路径分别是/mnt/f/wsl和/mnt/e/wwwroot,当然WSL这样直接访问windows磁盘会有很大的性能问题。后续使用中如果性能的降低超过了可忍受的程度,再考虑将这两个目录移动到wsl的虚拟磁盘。

打开Windows安全中心,病毒和威胁防护设置,管理设置,添加或删除排除项,添加排除项,将上述两个目录排除,这样会减少windows的系统性能占用。

二、centos8基本配置

1、查看centos版本

uname-a\ncat/proc/version\ncat/etc/redhat-release

2、安装wgetvim等工具

cd~启用ifconfig,netstat等网络命令

3、更换国内源

(1)备份原始的yum源

cd/etc/yum.repos.d\nmvCentOS-Base.repoCentOS-Base.repo.bak\nmvCentOS-extras.repoCentOS-extras.repo.bak\nmvCentOS-centosplus.repoCentOS-centosplus.repo.bak\nmvCentOS-PowerTools.repoCentOS-PowerTools.repo.bak\nmvCentOS-AppStream.repoCentOS-AppStream.repo.bak

(2)下载对应版本的repo文件

dnfcleanall\n此目录是我个人存放各种安装包的目录,也就是win10的F盘wsl目录。\nwgethttp://nginx.org/download/nginx-1.19.1.tar.gz\ntar-zxvfnginx-1.19.1.tar.gz

3、开始编译

cdnginx-1.19.1\n./configure

检查系统环境是否符合编译安装的要求,比如是否有gcc编译工具,是否支持编译参数当中的模块,并根据开启的参数等生成Makefile文件为下一步做准备。

make&&makeinstall

生成脚本及配置文件,根据Makefile文件生成相应的模块,安装,创建目录,并将生成的模块和文件复制到相应的目录。

4、等待安装完成

如果没有错误提示,默认安装目录是:/usr/local/nginx,现在可以查看版本,能正确显示版本,说明安装完成。

/usr/local/nginx/sbin/nginx-V

5、添加软链接

由于WSL不能使用systemd,使用service时会出现错误提示,这里不注册为service,而是使用软链接的方式省略执行nginx命令的路径前缀。

ln-s/usr/local/nginx/sbin/nginx/usr/bin/nginx\nnginx不停止服务重新载入配置文件\nnginx-sstop停止服务\nvim/usr/local/nginx/conf/nginx.conf

参考了集成环境OneinStack中的配置。默认user为nobody,修改为www。将网站放在/mnt/e/wwwroot路径中,即Win10本地E盘wwwroot目录。

fastcgi_passunix:/dev/shm/php-cgi.sock;表示Nginx和PHP-FPM的进程间采用UNIXDomainSocket方式通信,因此在PHP-FPM的配置文件中也要做相应的配置。

最后自动加载vhost目录中的配置文件,完整内容如下:

userwwwwww;\nworker_processesauto;\n\nerror_log/data/wwwlogs/error_nginx.logcrit;\npid/var/run/nginx.pid;\nworker_rlimit_nofile51200;\n\nevents{\nuseepoll;\nworker_connections51200;\nmulti_accepton;\n}\n\nhttp{\nincludemime.types;\ndefault_typeapplication/octet-stream;\nserver_names_hash_bucket_size128;\nclient_header_buffer_size32k;\nlarge_client_header_buffers432k;\nclient_max_body_size1024m;\nclient_body_buffer_size10m;\nsendfileon;\ntcp_nopushon;\nkeepalive_timeout120;\nserver_tokensoff;\ntcp_nodelayon;\n\nfastcgi_connect_timeout300;\nfastcgi_send_timeout300;\nfastcgi_read_timeout300;\nfastcgi_buffer_size64k;\nfastcgi_buffers464k;\nfastcgi_busy_buffers_size128k;\nfastcgi_temp_file_write_size128k;\nfastcgi_intercept_errorson;\n\n34;MSIE[1-6]\\.(?!.*SV1)&error_page404/404.html;\nlocation/nginx_status{\naccess_logoff;\ndenyall;\nfastcgi_pass127.0.0.1:9000;\nfastcgi_passunix:/dev/shm/php-cgi.sock;\nfastcgi_indexindex.php;\nincludefastcgi.conf;\n}\nlocation~.*\\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)${\nexpires30d;\naccess_logoff;\n}\nlocation~.*\\.(js|css)?${\nexpires7d;\naccess_logoff;\n}\nlocation~^/(\\.user.ini|\\.ht|\\.git|\\.svn|\\.project|LICENSE|README.md){\ndenyall;\n}\n}\nvhost34;stub_status&此目录是我个人存放各种安装包的目录,也就是win10的F盘wsl目录。\nwgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

2、解压并配置相关目录与权限

解压之后,将解压出的目录移动到/usr/local/下并改名为mysql,切换到/usr/local/mysql目录,创建data目录,再在根目录下创建/data/mysql目录。目录路径可以按自己的需要创建。

tar-xvfmysql-8.0.21-linux-glibc2.12-x86_64.tar.xz\n\nmvmysql-8.0.21-linux-glibc2.12-x86_64/usr/local/mysql\n\ncd/usr/local/mysql\nmkdirdata\nmkdir-p/data/mysql

创建用户组mysql,给用户组添加用户mysql,并给相应的目录权限。

groupaddmysql\nuseradd-gmysqlmysql\n\nchown-Rmysql:mysql/usr/local/mysql/\nchown-Rmysql:mysql/data/mysql

3、初始化MySql

添加需要的库文件

dnfinstalllibaionumactlinitscripts-y

初始化,参数要和前面创建的用户及目录对应。

bin/mysqld–initialize–user=mysql–basedir=/usr/local/mysql–datadir=/usr/local/mysql/data

执行结束会生成数据库root用户密码,做好记录。(Atemporarypasswordisgeneratedforroot@localhost:Zlg+oqdhy9i=)

如果执行失败,需要删除data和tmp目录下所有内容,根据错误提示,检查配置后重新执行初始化。

4、创建并配置my.cnf文件

touch/etc/my.cnf\nvim/etc/my.cnf

my.cnf参考了集成环境OneinStack中的配置,内容如下。同样,my.cnf配置文件中的目录路径也要和前面mysql初始化时的一致。

[client]\nport=3306\nsocket=/tmp/mysql.sock\ndefault-character-set=utf8mb4\n\n[mysql]\nprompt=&34;\nno-auto-rehash\n\n[mysqld]\nport=3306\nsocket=/tmp/mysql.sock\ndefault_authentication_plugin=mysql_native_password\n\nbasedir=/usr/local/mysql\ndatadir=/usr/local/mysql/data\npid-file=/data/mysql/mysql.pid\nuser=mysql\nbind-address=0.0.0.0\nserver-id=1\n\ninit-connect=&39;\ncharacter-set-server=utf8mb4\ncollation-server=utf8mb4_unicode_ci\n\nskip-name-resolve\nlower_case_table_names=1\n\nskip-external-locking\n\ndefault_storage_engine=InnoDB\n启动mysql\nmysqldstop查看已开放的端口

查看所有可用的命令参数

mysqld–help\nUsage:mysqld{start|stop|restart|reload|force-reload|status}[MySQLserveroptions]

6、修改密码

/usr/local/mysql/bin/mysql-uroot-p\n登录后在命令提示符MySQL[(none)]>后,输入如下语句并回车\n39;root&39;localhost&39;password&退出

7、安装过程中的报错及处理方法

/etc/redhat-lsb/lsb_log_message:line3:/etc/init.d/functions:Nosuchfileordirectory

解决方法是安装initscripts:dnf-yinstallinitscripts

报错:

mysqld_safeerror:log-errorsetto&39;,howeverfiledon&39;mysql&34;&此目录是我个人存放各种安装包的目录,也就是win10的F盘wsl目录。\nwgethttp://mirrors.sohu.com/php/php-7.4.9.tar.xz

2、安装编译工具和库

dnf-yinstallmakegccpcrepcre-develzlibzlib-developensslopenssl-devel

在安装Nginx时就已经安装过编译工具和库,在检查配置编译参数时,提示缺少哪个就安装哪个库。

3、创建用户组和用户

如果在安装Nginx时已经创建过,就不用再重复创建了。

groupaddwww\nuseradd-gwwwwww

4、配置编译

解压缩,移动到/usr/local/目录并重命名为php,切换到/usr/local/php目录。

tar-xvfphp-7.4.9.tar.xz\nmvphp-7.4.9/usr/local/php

查看已安装的php编译参数命令是:

php-i|grepconfigure

以下编译参数来源于oneinstack集成包,复制以下所有内容到CentOS命令行窗口,回车,开始检查配置。

./configure–prefix=/usr/local/php\\\n–with-config-file-path=/usr/local/php/etc\\\n–with-config-file-scan-dir=/usr/local/php/etc/php.d\\\n–with-fpm-user=www\\\n–with-fpm-group=www\\\n–enable-fpm\\\n–enable-opcache\\\n–disable-fileinfo\\\n–enable-mysqlnd\\\n–with-mysqli=mysqlnd\\\n–with-pdo-mysql=mysqlnd\\\n–with-iconv-dir=/usr/local/libiconv\\\n–with-freetype\\\n–with-jpeg\\\n–with-zlib\\\n–enable-xml\\\n–disable-rpath\\\n–enable-bcmath\\\n–enable-shmop\\\n–enable-exif\\\n–enable-sysvsem\\\n–enable-inline-optimization\\\n–with-curl=/usr/local/curl\\\n–enable-mbregex\\\n–enable-mbstring\\\n–with-password-argon2\\\n–with-sodium=/usr/local\\\n–enable-gd\\\n–with-openssl=/usr/local/openssl\\\n–with-mhash\\\n–enable-pcntl\\\n–enable-sockets\\\n–with-xmlrpc\\\n–enable-ftp\\\n–enable-intl\\\n–with-xsl\\\n–with-gettext\\\n–with-zip=/usr/local\\\n–enable-soap\\\n–disable-debug\\\nPKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:

一遍遍执行上述检查配置,根据报错error或类似notfound类,解决错误。直到出现如下所示:ThankyouforusingPHP

5、安装完成

make&&makeinstall

6、报错及解决

报错

configure:error:C++preprocessor&34;failssanitycheck

解决方法:

dnf-yinstallglibc-headersgcc-c++

报错:

Package&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound\nPackage&39;,requiredby&39;,notfound

解决方法:

dnf-yinstalllibxml2-develsqlite-devellibcurl-devellibpng-devellibjpeg-develfreetype-devellibicu-devel

报错:

Package&39;,requiredby&39;,notfound

oniguruma是一个处理正则表达式的库

解决方法:

wgethttps://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz-Ooniguruma-6.9.4.tar.gz\ntar-zxvfoniguruma-6.9.4.tar.gz\ncdoniguruma-6.9.4/\n./autogen.sh&&./configure–prefix=/usr

报错

Generatingautotoolsfiles.\n./autogen.sh:line6:autoreconf:commandnotfound

解决方法:

dnf-yinstallautoconfautomakelibtool

再次检查配置,没有问题了,再生成脚本及配置文件,安装。

./autogen.sh&&./configure–prefix=/usr\nmake&&makeinstall

报错:

configure:error:Packagerequirements(libsodium>=1.0.8)werenotmet:\nPackage&39;,requiredby&39;,notfound

解决方法:

Sodium是一个全新而且易用的加密库,用于加密、解密、签名和生成密码哈希等等。

wgethttps://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable.tar.gz\ntar-zxflibsodium-1.0.18-stable.tar.gz\ncdlibsodium-stable\n./configure–prefix=/usr\nmake&&makeinstall\nldconfig

报错:

checkingforArgon2library…notfound\nconfigure:error:Pleaseensuretheargon2headerandlibraryareinstalled

解决方法:

打开https://pkgs.org/,查找libargon2,找到centos8的rpm包,下载安装。

wgethttps://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/l/libargon2-20171227-3.el8.x86_64.rpm\nwgethttps://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/l/libargon2-devel-20171227-3.el8.x86_64.rpm\nrpm-Uvhlibargon2-20171227-3.el8.x86_64.rpm\nrpm-Uvhlibargon2-devel-20171227-3.el8.x86_64.rpm\ndnf-yinstalllibargon2libargon2-devel

报错:

configure:error:Packagerequirements(libxslt>=1.1.0)werenotmet:\nPackage&39;,requiredby&39;,notfound

解决方法:

dnf-yinstalllibxsltlibxslt-devel

报错:

Failedtosetlocale,defaultingtoC.UTF-8\nerror:rpmdb:BDB2034unabletoallocatememoryformutex;resizemutexregion\nerror:cannotopenPackagesindexusingdb5-Cannotallocatememory(12)\nerror:cannotopenPackagesdatabasein/var/lib/rpm\nError:Error:rpmdbopenfailed

解决方法:

一般是由于rpm本地数据库损坏导致的。

cd/var/lib/rpm39;db.&列出相关rpmdb文件\nrm-f__db.*重建rpm数据库\nyumcleanall\ndnfmakecache

报错:

Package&39;,requiredby&39;,notfound

解决方法:

打开https://pkgs.org/,查找libzip及libzip-devel,找到centos8的rpm包,下载安装。

wgethttp://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/libzip-1.5.2-1.module_el8.2.0+314+53b99e08.x86_64.rpm\nwgethttp://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/libzip-devel-1.5.2-1.module_el8.2.0+314+53b99e08.x86_64.rpm\nrpm-Uvhlibzip-1.5.2-1.module_el8.2.0+314+53b99e08.x86_64.rpm\nrpm-Uvhlibzip-devel-1.5.2-1.module_el8.2.0+314+53b99e08.x86_64.rpm\ndnf-yinstalllibziplibzip-devel

7、配置

生成php配置文件

cpphp.ini-production/usr/local/php/etc/php.ini

在编译时启用了参数:–enable-opcache,查找opcache.so模块文件所在路径。

find/usr-nameopcache.so\n\n\n/usr/local/php/ext/opcache/.libs/opcache.so\n/usr/local/php/lib/php/extensions/debug-non-zts-20190902/opcache.so\n/usr/local/php/modules/opcache.so

编辑php.ini文件,在末尾添加如下内容,开启OPcache扩展

[opcache]\nzend_extension=/usr/local/php/modules/opcache.so\nopcache.enable=1\nopcache.enable_cli=1\nopcache.memory_consumption=128\nopcache.interned_strings_buffer=8\nopcache.max_accelerated_files=10000\nopcache.revalidate_freq=60\nopcache.file_cache=/tmp/opcache

生成php-fpm配置文件并编辑。

cd/usr/local/php/etc\ncpphp-fpm.conf.defaultphp-fpm.conf\nvimphp-fpm.conf

这里还是参考OneInStack集成环境包中的配置,清空php-fpm.conf内容,修改如下:

;;;;;;;;;;;;;;;;;;;;;\n;FPMConfiguration;\n;;;;;;;;;;;;;;;;;;;;;\n\n;;;;;;;;;;;;;;;;;;\n;GlobalOptions;\n;;;;;;;;;;;;;;;;;;\n\n[global]\npid=run/php-fpm.pid\nerror_log=log/php-fpm.log\nlog_level=warning\n\nemergency_restart_threshold=30\nemergency_restart_interval=60s\nprocess_control_timeout=5s\ndaemonize=yes\n\n;;;;;;;;;;;;;;;;;;;;\n;PoolDefinitions;\n;;;;;;;;;;;;;;;;;;;;\n\n[www]\nlisten=/dev/shm/php-cgi.sock\nlisten.backlog=-1\nlisten.allowed_clients=127.0.0.1\nlisten.owner=www\nlisten.group=www\nlisten.mode=0666\nuser=www\ngroup=www\n\npm=dynamic\npm.max_children=50\npm.start_servers=30\npm.min_spare_servers=20\npm.max_spare_servers=50\npm.max_requests=2048\npm.process_idle_timeout=10s\nrequest_terminate_timeout=120\nrequest_slowlog_timeout=0\n\npm.status_path=/php-fpm_status\nslowlog=var/log/slow.log\nrlimit_files=51200\nrlimit_core=0\n\ncatch_workers_output=yes\n;env[HOSTNAME]=aliyun-wxy\nenv[PATH]=/usr/local/bin:/usr/bin:/bin\nenv[TMP]=/tmp\nenv[TMPDIR]=/tmp\nenv[TEMP]=/tmp

本配置文件指定了PHP-FPM进程通信方式:listen=/dev/shm/php-cgi.sock,和Nginx的配置保持了一致。

生成php-fpm服务启动文件:(新的文件名不能有-字符)

cp/usr/local/php/sapi/fpm/init.d.php-fpm/usr/bin/phpfpm\nchmod740/usr/bin/phpfpm

测试启动php-fpm

phpfpmstart\nphpfpmrestart\nphpfpmstop

查看php已启用的模块:

php-m

查看php版本

/usr/local/php/bin/php-v\nphp-v

8、安装配置Xdebug

OPcache扩展是PHP7.X自带的,只要在编译时开启,就可以配置使用。而Xdebug需要另外安装。参考官网:https://xdebug.org/docs/install

yuminstall-ygit\ngitclonegit://github.com/xdebug/xdebug.git\ncdxdebug\nphpize\n./configure–enable-xdebug\nmake&&makeinstall

Xdebug编译完成后显示扩展文件目录、提示将扩展添加到php.ini文件

编辑php.ini,在末尾增加xdebug.so扩展。

vim/usr/local/php/etc/php.ini\n\n增加xdebug.so扩展34;/usr/local/php/lib/php/extensions/debug-non-zts-20190902/xdebug.so&启动nginx服务\nphpfpmstart启动mysql\n\n\nnginx-sreload停止服务\n\nphpfpmrestart\nphpfpmstop\n\nmysqldrestart停止mysql

参考资料:

WindowsTerminal+WSL2+CENTOS配置Windows命令终端https://www.tinychen.com/200512-windowsterminal-wsl2-centos/https://github.com/CentOS/sig-cloud-instance-images

LxRunOffline使用教程-WSL自定义安装、备份https://p3terx.com/archives/manage-wsl-with-lxrunoffline.html

https://chocolatey.org/docs/installationhttps://blog.csdn.net/hiqiming/article/details/105244147

http://nginx.org/https://www.cnblogs.com/zhang-shijie/p/5294162.html

https://www.cnblogs.com/pp-yang/p/12595387.html

https://www.jianshu.com/p/64e12bea3d49

Linux安装mysql8.0(踩坑实况)https://blog.csdn.net/LittleSeedling/article/details/105851113

https://www.cnblogs.com/cxyyh/p/12431424.htmlIndexof/php/

centos8安装php7.4https://www.cnblogs.com/architectforest/p/12433541.html

https://www.cnblogs.com/alliancehacker/p/12255445.html

文章分享结束,手机网站引导页源码分享php和手机获取网站源码的答案你都知道了吗?欢迎再次光临本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平