本文主要记录了散修厉飞羽是如何出师未捷身先死的!涉及内容如下:
- 安装 nginx
- 安装 php8.0版本
- 安装 lsky 2.0.4 / 2.1 版本
- 卸载 nginx
- 卸载 php
为了能够在开发界混出点名堂,以便历某叱咤整个编程界,于是乎本炼气期散修便妄想追随已成名的处于大乘期的阮一峰老师
或者其他宗门的名声响当当的大佬如阿里宗的多隆大佬
,CodeSheep
的修炼步伐,因此决定搭建一个"厉飞羽"的修炼洞府(博客网站),以便让厉飞羽这一名号响亮整个修仙界(简直是图样图森破的标准案例)。
写在前面:厉飞羽在戎战两天后,由于意志奔溃走火入魔最终身死魂消。
厉飞羽这短暂"修仙"之途
想我厉某已在编程界历练两年有余,虽说整日在宗门游手好闲只做一些劈材担水的杂活(curd),但好歹也见识过一些编程界的险恶(404,500,NPE),虽说历某立志成为Java大道的天尊,但在其他道友们的耳濡目染下,对其他功法如前端基本技术也略有涉及,虽然不至于融会贯通自创功法,但是依葫芦画瓢在各位前辈的带领下和各种炼制法宝如React、Vue
的帮助下也能完成个456,况且在这个四处可见修炼心得的编程界,开辟一个属于自己的洞府岂不是简简单单?还能有我厉飞羽历某解决不了的问题(对不起,还真有,还很多!)?
修仙之人只图一个念头通达,说干就干,为了能够早日让厉飞羽这个名号响彻编程界,我决定使用一套Java初级连招迅速创建出一个宗门资源功法仓库,接着打开React
法宝使用说明书结合antd + react-router-v6
等诸多宝物一套连招下去,宗门便小有雏形,这样慕名而来的人便可看到当前宗门的功法心得,正感叹着我历某必将掀起一股腥风血雨的时候,处于炼气期的历某便遭到修仙途中的第一个仙途变故!
为了能够更好的领悟各个功法原理,整理相关修炼资源以便历某早日到达筑基期,历某便在外寻觅前辈们所说的收纳资源的宝物一品法器图床,历某在寻找此物的过程中可谓是九死一生,不管是二次元宗的短视频幻阵、亦或者Google宗、谢邀宗、热门宗的各具特色的蛊惑人心的阵法 (二次元真好看.JPG,谢邀宗的牛肉也真好吃.jpg) 都给历某带来了极大的麻烦,虽说最后都得以逃脱,想来还是后背发凉!虽说此行凶险,但历某最终得到了如下解决办法!
- 修炼白嫖功法,白嫖其他大佬搭建的免费图床,优点免费省心,直接用即可,缺点就是不稳定,容易造成宗门资源的丢失(图床挂掉),后期劳神费力。
- 使用其他修炼Java成神功法的大佬炼制的
FastDFS
,创建一个属于自己宗门的仓库,缺点就是功法原理图会暴露仓库地址,且修炼起来相对白嫖功法稍显复杂- 使用其他宗门大能炼制的法宝如
zimg
或者Lsky
兰空等宝物,只需简单滴血认主,稍加炼制即可。- 寻求阿里宗或者企鹅宗的庇护,只需缴纳保护费即可!
再结合自身状况之后,历某最终选择了第三种炼制法器 Lsky Pro
。
ps:谁知这一抉择,历某就走上了身死道消之路!
历某在决定之后,首先便去到 Lsky pro 门派获取到Lsky pro 2.0.4.zip
,历某为了早日解决踏进筑基期,直接将其使用scp
传送阵法将其传送至历某的云端洞府,为了能够炼制lsky,在lsky宗门得知需要得到 nginx + php8.0 以上版本以及相关的一些宝物才能够正常炼制。
bash
# 传送至云端服务器
scp Lsky-pro-2.0.4.zip lifeiyu@xxx.xxx.xx.xxx:/var/www/html;
# 解压命令,在安装完 nginx 和 php8.0 之后执行
unzip /var/www/html/lsky-pro-2.0.4.zip -d /var/www/html
首先是法宝 nginx
,首先使用如下口令炼制专属的 nginx
。
bash
sudo apt update
sudo apt upgrade
sudo apt install nginx
# 查看nginx 版本
sudo nginx -v
召唤成功后可使用如下口令sudo systemctl status nginx
查看宝物状态,出现如下情况即召唤成功:
此时通过
ip
访问,浏览器会出现welcome to nginx
画面。如诺没出现记得配置云主机的安全组规则!
在成功召唤炼制nginx
之后,立马召唤宝物 php-8.0
,由于本洞府默认配置的宝物是php7.4
(Ubuntu20.04 默认的php版本为7.4) 无法与宝物lsky-2.0.4
配合使用,因此使用如下召唤方式:
bash
# 启用PHP存储库
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
# 安装php8.0 把8.0改为8.1 8.2也可
sudo apt update
sudo apt install php8.0-fpm
同样在召唤php8.0
之后sudo systemctl status8.0-fpm
查看宝物状态。
至此两件宝物已经召唤成功,但事情还没有结束,我们必须要要使用其他PhP大能炼制的宝物,这样才具备炼制Lsky pro 的条件
bash
sudo apt install php-bcmath php-json php-mbstring php-tokenizer php-xml php-imagick
sudo apt install libssl-dev openssl
# 安装php-pdo扩展
sudo apt install php8.0-xml
ps:我在这之前已经安装过了!
至此万事俱备只欠东风!接着使用法令unzip /var/www/html/lsky-pro-2.0.4.zip -d /var/www/html
消除Lsky
的zip压制(解压),一鼓作气修改nginx的配置:
bash
cd /etc/nginx/sites-available/
sudo vim default
第一点:将root指向lsky的public文件夹,并在index后面添加index.php
第二点:server_name 其值为云主机的ip地址或者域名
第三点:将location 里面的=404修改为/index.php?$query_String
第四点:location部分修改为图中所示,注意我这里安装的php8.0-fpm
所以图中是这个,这里需要与你安装的版本相对应!
修改目录权限:
bash
sudo chown -R www-data /var/www/html
sudo chmod -R 755 /var/www/html
接着重启nginx
和php8.0
bash
sudo systemctl restart nginx
sudo systemctl restart php8.0-fpm
通过浏览器访问ip地址即可正常召唤lsky,如下图第一次炼制Lsky pro
失败
查看已安装模块php -m
宝物Php给出如下响应:可知bcmath,imagick,mbstring
以正确安装
为了能够早日筑基成功,随即采用如下命令修改php版本
bash
# 卸载php8.0
sudo apt-get autoremove php8*
sudo find /etc -name "*php*" |xargs rm -rf
sudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
dpkg -l | grep php8.0
# 安装8.1
sudo apt install php8.1-fpm
# 安装其他扩展
sudo apt install php-bcmath php-json php-mbstring php-tokenizer php-xml php-imagick
sudo apt install libssl-dev openssl
# 安装php-pdo扩展
sudo apt install php8.1-xml
修改/etc/nginx/sites-available/default
文件中location部分中的如下图
使用如下法令重启nginx
和php8.1
:
bash
sudo systemctl restart nginx;
sudo systemctl restart php8.1-fpm
在卸载php的时候可能会把这个文件删除,导致nginx无法重启成功,出现重启失败的情况
重启失败截图如下:
可使用如下命令卸载nginx之后重新安装(在第二部分有正确搭建步骤,切勿如此修改,只是历某最初无法知道怎么解决采取了最暴力的方式)
bash
# 彻底卸载nginx
sudo service nginx stop
sudo apt-get --purge remove nginx
sudo apt-get autoremove
dpkg --get-selections|grep nginx
sudo apt-get --purge remove nginx
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx-core
dpkg --get-selections|grep nginx
# 正常情况下没有输出,说明卸载干净
which nginx
重新炼制nginx
之后记得配置default文件!重启相关软件,访问ip可能会出现500服务器错误。
查看运行日志,在/var/www/html/storage/logs/
目录下:
bash
# 进入日志目录
cd /var/www/html/storage/logs/
ll
# 使用cat命令查看,提示Creator.php98行参数类型错误
修改Creator.php
中代码 删除第98行出的方法参数列表中的array
重启nginx
和php
,然后通过ip访问得到如下,如果忘了配置default文件或者配置错了有可能会出现502 bad gateway错误,记得检查相关配置文件,重新访问IP结果如下:
没错历某又失败了!在经过了如此多的摧残之后,历某道心已不稳,无法做到念头通达!眼看历某寿元无几,按照之前的方法召唤php8.2
,在一番尝试之后历某以为要成功了毕竟事不过三!但是修仙之路怎么如此简单,历某又一次败了!
随着一次又一次的失败,403、500、502、nginx 启动失败、php启动失败、更换lsky pro版本后失败;历某心态已逐步失控,在最后一次召炼制 lsky pro 2.1
过程中,由于道心不稳加之已耗费两个周天最终历某没有炼制成功,走火入魔~
总结:修道之人,只图个念头通达,否则迟早道心崩溃~ ps:很难想象作者的精神状态~
正确的修仙之法(已正确搭建)
如下步骤并没有修改php.ini
中的内容,就成功搭建!且服务器在此之前也已安装MySQL8.0!
- 首先正确安装nginx,安装方法如上所示。
- 其次安装
php8.2
版本,这一个是最重要的,为什么这么说呢,因为最开始安装8.2之后,由于500错误不知道怎么修改在网上查阅相关资料后,建议是回退到8.1而不是修改Creator.php
中的代码,因此在这里就导致了正确配置和安装相关扩展后,运行环境检测始终不通过!导致心态炸裂!记得修改权限~ - 安装php扩展,安装方法如上面所述。
- 重启 nginx 和 php,重启可能会遇到如下异常:
这是因为在卸载时删除了fastcgi-php.conf
文件。此时不需要卸载nginx安装,只需要修改default
文件配置即可,如下:
其他配置不用改变,此时通过浏览器访问即可出现如下页面:
注:如果在这一步出现提示驱动异常
bash
sudo apt install mysql-server php-mysql
点击下一步进行其他配置即可。
ps:本来最开始此文只有第一部分的,因为实在是破防了,结果在仔细思考之后,从头开始搭建便成功了!真就只图一个念头通达~
使用到的bash
命令总结
bash
# 更新源
sudo apt update
sudo apt upgrade -y
# 安装
sudo apt install nginx
# 卸载nginx
sudo service nginx stop
sudo apt-get --purge remove nginx
sudo apt-get autoremove
dpkg --get-selections|grep nginx
sudo apt-get --purge remove nginx
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx-core
dpkg --get-selections|grep nginx
# 正常情况下没有输出,说明卸载干净
which nginx
# 查看软件运行状态:
# sudo systemctl status seviceName
sudo systemctl status nginx
sudo systemctl status php8.2-fpm
# 重启nginx
sudo systemctl nginx restart
# 语法检测,如果是ubuntu用户执行nginx -t 可能会出现could open error 的错误提示,加上sudo就好
sudo nginx -t
# 查看php.ini文件位置,这个可以查看运行的加载的php.ini文件路径在哪!可修改此配置文件加载扩展!
php -i | grep "php.ini"
参考链接: