wordpress口塞/快速网站推广优化
目录
- 引言
- 1、安装Nginx
- 2、安装PHP
- 3、安装Composer
- 4、搭建Laravel框架项目
- 5、修改Nginx映射
- 6、安装MySQL
引言
好久没写博客了,因为个人需要, 所以要涉及到Laravel框架的学习,所以会出一系列的关于PHP的Laravel框架学习笔记,希望能够帮助到有需要的人。本系列所有的内容,都以官网中文文档为准进行学习,我使用的系统是Ubuntu20的虚拟系统。
1、安装Nginx
因为我个人是喜欢Nginx作为代理服务器,所以选择Nginx进行安装。如果要选用Apache的可以自行安装,先安装代理再执行其他的步骤。
sudo apt-get update #更新应用源
sudo apt-get upgrade #对系统安装程序进行更新
sudo apt-get nginx #安装nginx
nginx的版本不用追求高,选择稳定版本即可。
2、安装PHP
我服务器使用Nginx,所以安装php-fpm,但是因为框架版本选择的是Laravel9,Laravel9的先决前提是PHP版本>=8.0,如果你是阿里云Ubuntu 20 LTS,就不用升级服务器了,不然需要升级一下才有PHP8;
sudo apt install software-properties-common
sudo apt-add-repository ppa:ondrej/php # 添加php源地址
sudo apt-get update
然后进行php的安装,以及所需的插件安装,如下
sudo apt-get install php8.0-fpm php8.0-mysql php8.0-gd php8.0-mbstring php8.0-bcmath php8.0-xml php8.0-curl php8.0-redis php8.0-opcache php8.0-odbc
在这里我遇到了一个问题
Cannot initiate the connection to ppa.launchpad.net:80 (2620:2d:4000:1::3e). - connect (101: Network is unreachable) [IP: 185.125.190.52 80]
Fetched 4,965 kB in 3min 27s (24.0 kB/s)
这是用使用sudo apt-get update也没用,也是超时
可以通过增加超时和重试来使其工作:
sudo apt-get update --option Acquire::Retries=100 --option Acquire::http::Timeout="120"
然后再执行安装命令就可以安装成功了php -v
检查是否安装成功
设置开机自启以及查看状态
systemctl status php8.0-fpm
systemctl enable php8.0-fpm
3、安装Composer
Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
这里我们安装composer就完全参照官方文档
安装前一定要先安装好php
下载安装脚本 - composer-setup.php - 到当前目录。
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
执行安装过程。
php composer-setup.php
上述所示就是安装成功了
删除安装脚本。
php -r "unlink('composer-setup.php');"
接下来直接进行全局安装,这样使得在命令窗口中可以直接使用composer
sudo mv composer.phar /usr/local/bin/composer
上述步骤执行完毕后,键入composer -V
查看是否已经安装配置成功。
yby@ubuntu:~$ composer -V
Composer version 2.5.4 2023-02-15 13:10:06
最后,因为composer的源默认是国外的,使用国外源安装插件都可能比较慢,参照官方文档,可以换源,但是我换完源后下面安装Laravel安装器失败了,这个,大家慎重吧。如果大家换成国内源安装东西失败了,可以换回来,或者换成阿里云镜像源(真好用,推荐阿里云)。步骤都在下面了。
composer config -g repo.packagist composer https://packagist.phpcomposer.com #国内源
composer config -g repo.packagist composer https://packagist.org #官方国外源
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ #阿里云镜像
至此composer安装完成,最后不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本。
4、搭建Laravel框架项目
参照官网给出的文档,我们可以直接使用composer进行搭建,但是每次都要输入一长串指令有些麻烦,所以我们可以先安装Laravel安装器,然后通过Laravel安装器安装。
通过Composer安装laravel安装器
composer global require laravel/installer
安装成功。
但是呢,执行laravel -v
时提示laravel not found
看了一下官方文档
晕死,还要自己设置一下环境变量,执行下述命令
export PATH="$HOME/.config/composer/vendor/bin:$PATH";
然后再执行laravel -v可以看到如下提示则成功
OK。接下来进入/var/www/目录下,该目录是安装nginx时自动创建的目录,在该目录下创建新的Laravel项目。
laravel new example-app
产生了如下问题,权限不够,于是该给/var/www/文件夹更改权限
sudo usermod -aG www-data $USER #创建一个www-data用户组,将自己加入用户组中
sudo chown -R www-data:www-data /var/www #给文件夹用户组权限
sudo chown -R $USER:$USER /var/www #给自己操作文件夹的权限
这两句执行完后,再执行下载命令即可laravel new example-app
,等待安装即可
然后进入example-app,测试执行即可
cd example-app
php artisan serve
浏览器打开8000端口就行
这样一个Laravel环境就搭建完成了,可以安装mysql数据库等,进行开发。
5、修改Nginx映射
这里配置映射为了让前端页面能够访问到接口,或者让别人能够访问网页,需要修改Nginx配置,我是Ubuntu20.04的系统,所以Nginx的配置位置在/etc/nginx/sites-available/default,键入命令打开配置文件
没有vim的可以先安装vim,这是一个文件编辑软件
sudo apt-get install vim #安装vim
vim /etc/nginx/sites-available/default #编辑配置文件
键入i
,然后删除文件内所有内容,复制官网的配置即可。
直接整个复制到刚才打开的文件里
然后修改 server_name后的内容改成下划线,这样不管是IP还是域名都能访问。root后改成刚才我们在/var/www文件夹下新安装的laravel项目的public位置,public文件内存的就是项目编译后产生的php文件。
按下Esc
键,输入:wq
保存退出,改了配置后重启nginx服务
service nginx restart
然后进入example-app目录执行上面的启动命令,浏览去输入localhost查看,但是我这里,如果输入:8000也就是laravel默认运行端口,则可以正常打开,但是我用localhost,即80端口映射访问时就不行,报错权限问题如下
发现这里还需要给刚生成的example-app项目文件设置权限,下面操作都用一下,问题不大
sudo chown -R www-data:www-data /var/www/example-app/
sudo chmod -R 775 /var/www/example-app/storage/
sudo chmod -R 775 /var/www/example-app/bootstrap/cache
然后运行,我们在localhost就可以正常打开了
6、安装MySQL
因为我们装的是Laravel9,所以按照官方文档,需要安装的MySQL版本需要在5.7以上
直接安装8.0好了,因为MySQL在Ubuntu20.04操作系统上不再发布MySQL5.7版本的,换源下载麻烦,直接安装8.0版本
sudo apt update
sudo apt-get install mysql-server
安装完后键入mysql -V
查看版本,出现版本号就是安装成功
狗屎啊,真的是依托答辩,居然不提示我设置密码,据说是默认密码123456,然是也进不去,就必须要前面键入sudo命令才能进入,如下所示
简直依托答辩,治理直接超级管理员权限进去,键入命令,设置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
然后ctrl+z推出,重新试一下
哎嗨,进来了,搞定搞定,设置一下开机自启就可以了,环境差不多结束。
systemctl enable mysql
搞定,下期再见。
相关文章:

Laravel框架学习笔记——Laravel环境配置及安装(Ubuntu20.04为例)
目录引言1、安装Nginx2、安装PHP3、安装Composer4、搭建Laravel框架项目5、修改Nginx映射6、安装MySQL引言 好久没写博客了,因为个人需要, 所以要涉及到Laravel框架的学习,所以会出一系列的关于PHP的Laravel框架学习笔记,希望能够…...

模拟百度翻译-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)
【案例6-5】 模拟百度翻译 【案例介绍】 1.任务描述 大家对百度翻译并不陌生,本案例要求编写一个程序模拟百度翻译。用户输入英文之后搜索程序中对应的中文,如果搜索到对应的中文就输出搜索结果,反之给出提示。本案例要求使用Map集合实现英…...

自然语言处理(NLP)之求近义词和类比词<MXNet中GloVe和FastText的模型使用>
这节主要就是熟悉MXNet框架中的两种模型:GloVe和FastText的模型(词嵌入名称),每个模型下面有很多不同的词向量,这些基本都来自wiki维基百科和twitter推特这些子集预训练得到的。我们只需要导入mxnet.contrib中的text模块即可,这里…...

2023年CDGA考试-第13章-数据质量(含答案)
2023年CDGA考试-第13章-数据质量(含答案) 单选题 1.在导致数据质量问题的常见原因中关于数据输入问题以下描述正确的是: A.数据采集端缺乏数据质量管控 B.相同字段重复设计导致数据不一致 C.缺乏数据采集规范的制定 D.所有描述都正确 答案 D 2.数据质量计划应将其范围限…...

ASEMI高压MOS管ASE65R330参数,ASE65R330图片
编辑-Z ASEMI高压MOS管ASE65R330参数: 型号:ASE65R330 漏极-源极电压(VDS):650V 栅源电压(VGS):20V 漏极电流(ID):12.5A 功耗(P…...

LeetCode动态规划经典题目(九):子序列、子数组问题
目录 31. LeetCode674. 最长连续递增序列 32. LeetCode18. 最长重复子数组 33. LeetCode1143. 最长公共子序列 34. LeetCode1035. 不相交的线 35. LeetCode53. 最大子数组和 36. LeetCode392.判断子序列 37. LeetCode115. 不同的子序列 38. LeetCode583. 两个字符串的删…...

如何利用有限的数据发表更多的SCI论文?——利用ArcGIS探究环境和生态因子对水体、土壤和大气污染物的影响
SCI的写作和发表是科研人提升自身实力和实现自己价值的必要途径。“如何利用有限的数据发表更多的SCI论文?”是我们需要解决的关键问题。软件应用只是过程和手段,理解事件之间的内在逻辑和寻找事物之间的内在规律才是目的。如何利用有限的数据发表更多的…...

六【 SpringMVC框架】
一 SpringMVC框架 目录一 SpringMVC框架1.什么是MVC2.SpringMVC概述3.SpringMVC常见开发方式4.SpringMVC执行流程5.SpringMVC核心组件介绍6.快速构建Spring MVC程序✅作者简介:Java-小白后端开发者 🥭公认外号:球场上的黑曼巴 🍎个…...

【BBuf的CUDA笔记】八,对比学习OneFlow 和 FasterTransformer 的 Softmax Cuda实现
0x1. OneFlow/FasterTransformer SoftMax CUDA Kernel 实现学习 这篇文章主要学习了oneflow的softmax kernel实现以及Faster Transformer softmax kernel的实现,并以个人的角度分别解析了原理和代码实现,最后对性能做一个对比方便大家直观的感受到onefl…...

python 类对象的析构释放代码演示
文章目录一、类的构造函数与析构函数二、代码演示1. 引用的更迭2. 只在函数内部的类对象三、函数内部返回的类对象1. 使用全局变量 引用 函数内部的类对象一、类的构造函数与析构函数 init 函数是python 类的构造函数,在创建一个类对象的时候,就会自动调…...

Hadoop Shell常用命令
Hadoop Shell命令在管理HDFS的时候还是比较常用的,Hadoop Shell命令与shell命令极为相似,但是方便查询,在这里总结分享,大家enjoy~~ 1,cat 语法格式:hadoop fs -cat URI [URI …] 含义:将路径…...

Android中级——色彩处理和图像处理
色彩处理 通过色彩矩阵处理 色彩矩阵介绍 图像的RGBA可拆分为一个4行5列的矩阵和5行1列矩阵相乘 其中4行5列矩阵即为ColorMatrix,可通过调整ColorMatrix间接调整RGBA 第一行 abcde 决定新的 R第二行 fghij 决定新的 G第三行 klmno 决定新的 G第四行 pqrst 决定新…...

C++类和对象:类的定义、类对象的存储、this指针
目录 一. 对于面向过程和面向对象的认识 二. 类 2.1 struct关键字定义类 2.1.1 C语言中的struct关键字 2.1.2 C中的struct关键字 2.2 class关键字 2.1 使用class关键字定义类 三. 类的访问限定及封装 3.1 类的访问权限及访问限定符 3.1.1 访问权限 3.1.2 访问限定…...

代码随想录算法训练营第三十九天 | 62.不同路径,63. 不同路径 II
一、参考资料不同路径https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html 视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu不同路径 IIhttps://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.htmlhttps://progr…...

数据库复习3
一. 简答题(共1题,100分) 1. (简答题) 存在数据库test,数据库中有如下表: 1.学生表 Student(Sno,Sname,Sage,Ssex) --Sno 学号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 主键Sno 2.教师表 Teacher(Tno,Tname) --T…...

顺序表的增删查改
数据结构 是数据存储的方式,对于不同的数据我们要采用不同的数据结构。就像交通运输,选用什么交通工具取决于你要运输的是人还是货物,以及它们的数量。 顺序存储结构 包括顺序表、链表、栈和队列等。 例如腾讯QQ中的好友列表,…...

jupyter matplotlib中文乱码解决
中文乱码可能有两种情况 1. matplotlib里面有中文字体 2. 没有中文字体 查看是否有中文字体: # 查询当前系统所有字体 from matplotlib.font_manager import FontManager import subprocessmpl_fonts = set(f.name for f in FontManager().ttflist)print(all font list get f…...

Smtplib之发邮件模块
目录 创建Smtp对象 Smtp类中的方法 MIME MIMEBase MIMEBase MIMEMultipart MIMEApplication MIMEAudio MIMEImage MIMEText 实例 texthtml格式 发送带图片附件的邮件 发送带附件的邮件 含多种格式 SMTP模块 SMTP 简单传输协议,它是一组用于由源…...

Android 适配手机和平板
一、屏幕适配限定符Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目录下的资源 ;如 : 横竖屏切换时 , res/layout-land 目录中 , 存放的是横屏布局 , res/layout-p…...

时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测
时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测 目录时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测效果一览基本介绍模型介绍LSTM模型SVR模型LSTM-SVR模型程序设计参考资料致谢效果一览 基本介绍 本次运行测试环境MA…...

分阶段构建golang运行环境Dockerfile镜像
在开始这项工作之前大家可以先去看一下docker官方给出关于空镜像scratch的说明,采用官方简单的一句话就是:scratch是一个明确的空图像,特别是对于“从头开始”构建图像。分阶段构建镜像就会用到scratch这个空镜像,这样的好处是可以…...

Vue-cli脚手架在做些什么(源码角度分析)
什么是Vue脚手架?在学习初期,我们的项目往往需要借助webpack、vite等打包工具配置Vue的开发环境,但是在真实开发中我们不可能每个项目从头来完成所有的webpack配置,这样显得开发的效率会大大的降低;所有的真实开发中&a…...

【Nginx】|入门连续剧——安装
作者:狮子也疯狂 专栏:《Nginx从入门到超神》 坚持做好每一步,幸运之神自然会降临在你的身上 目录一. 🦁 前言Ⅰ. 🐇 为啥我们要使用Nginx?二. 🦁 搭建流程Ⅰ. 🐇 环境准备Ⅱ. &…...

从0开始学python -38
Python3 面向对象-1 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对…...

算法设计与分析期末考试复习(二)
分治法 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。最好使子问题的规模大致相同。 分解(Divide):将一个难以直接解决的大问题,分割成一些规模较小的子…...

九龙证券|4D毫米波雷达成市场新宠,相关概念股大涨,会贡献多少业绩?
近日,4D毫米波雷达成为A股新宠,相关概念股如经纬恒润(688326.SH)一周内涨幅接近20%,威孚高科(000581.SZ)5个买卖日内涨幅超越25%。 有音讯称特斯拉将在3月1日投资者活动日会宣告新款Model 3的全…...

Git天天用,不得不看的那些事
作为一个工作两年的开发同学,git是每天都要接触的工具。但IDEA对git的封装已经满足了日常的代码提交需求,所以一直是以点点点的形式进行代码提交与更新,几乎没用命令行提交过(现在想来也是有些惭愧),对于gi…...

IDE 文档注释使用,模板注释,ide配置templates
文档注释基于javadoc模板 类注释 /*** 暂无介绍** author admin* version 1.0.0* <dt><span class"simpleTagLabel">时间:</span></dt>* <dd>2023/2/24</dd>*/方法注释 /*** 暂无描述** author admin* param args */javadoc相…...

力扣-查询近30天活跃用户数
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1141. 查询近30天活跃用户数二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目&…...

企企通聚源池| 聚合海量资源全网寻源,赋能供采双方撮合交易
目前,我们正处于一个飞速发展的信息时代,随着大数据时代的来临,在企业的日常经营中,数据无处不在,各类数据的采集、整合、分析对企业的发展、决策有着十分重要的作用。数据管理作为企业一项重要的建设工作,…...