ubuntu20.04安装部署nginx+php7.4+mysql8.0+redis

ops/2024/12/23 1:23:09/

要在 Ubuntu 20.04 上安装 MySQL 8.0、PHP 7.4、Nginx 1.24 和 Redis,您可以按照以下步骤操作:

1. 更新系统包列表

sudo apt update
sudo apt upgrade -y

2. 安装 Nginx 1.24

对于特定版本的 Nginx,您可能需要从官方源安装。但通常情况下,Ubuntu 的默认源中提供的版本已经足够新。在 Ubuntu 20.04 中,Nginx 的版本可能不是 1.24,但我们可以先安装默认版本。

sudo apt install nginx -y

3. 安装 MySQL 8.0

sudo apt install mysql-server -y

安装完成后,运行安全配置向导来增强安全性:

sudo mysql_secure_installation

运行安全配置脚本:
运行sudo mysql_secure_installation脚本来提高MySQL服务器的安全性。这个脚本会引导你完成以下步骤:
1、设置密码策略等级。
2、设置root用户的密码。
3、移除匿名用户。
4、禁用root用户的远程登录(根据需要选择)。
5、删除test数据库。
6、重新加载权限表。

4. 安装 PHP 7.4 及其依赖

首先添加官方 PPA(Personal Package Archive)以获取 PHP 7.4:

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4-fpm php7.4-mysql php7.4-xml php7.4-curl php7.4-zip -y

5. 配置 Nginx 以支持 PHP

创建一个新的 Nginx 配置文件,用于处理 PHP 请求:

sudo nano /etc/nginx/sites-available/example.com

然后添加以下内容:

nginx">server {listen 80;server_name example.com www.example.com;root /var/www/example.com/public_html;index index.php index.html index.htm;location / {try_files $uri $uri/ =404;}location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php7.4-fpm.sock;}
}

创建目录并设置正确的权限:

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com

创建符号链接激活站点:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试 Nginx 配置并重启服务:

sudo nginx -t
sudo systemctl restart nginx

6. 安装 Redis

sudo apt install redis-server -y

完成上述步骤后,您应该已经在 Ubuntu 20.04 上成功安装了 MySQL 8.0、PHP 7.4、Nginx 和 Redis。

请注意,具体版本可能会有所变化,尤其是 Nginx 的版本,如果需要特定版本,您可能需要手动编译安装或者寻找第三方提供的软件包。


http://www.ppmy.cn/ops/93127.html

相关文章

Axios 怎么通过 FormData 对象上传文件

FormData 对象介绍 FormData 是一个用于在客户端创建表单数据的接口。它可以通过 JavaScript 中的 new FormData() 构造函数创建。FormData 可以将表单字段的键值对以键值对的方式添加,同时也支持添加文件。 在文件上传的场景中,我们可以使用 FormData …

Python 常用内置函数

目录 1、enumerate函数 1.1、for循环中使用 1.2、enumerate指定索引的起始值 1.3、enumerate在线程中的作用 2、Map 函数 2.1、map()函数可以传多个迭代器对象 3、lambda表达式(匿名函数) 示例 4、sort函数和sorted函数 4.1、sort()函数 4.2、…

有序数组的平方(LeetCode)

题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 解题 以下算法时间复杂度为 def sortedSquares(nums):n len(nums)result [0] * n # 创建一个结果数组,长度与 nums 相同le…

haproxy七层代理

负载均衡: Load Balance ,简称 LB ,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web 服务、网络流量等 ) 分担给指定的一个或多个后端特定的服务器或设备,从而提高了 公司业务的并发处理…

MySQL常用的日期和时间函数

文章目录 概述日期和时间函数 概述 在 MySQL 中,有许多常用的日期和时间函数,可以帮助你处理和操作日期和时间字段。 日期和时间函数 获取当前日期和时间 NOW(): 返回当前的日期和时间。CURRENT_DATE() 或 CURDATE(): 返回当前的日期(不包括…

springboot整合springmvc使用外置的Servlet容器

目录 1. 创建2. 配置3. 配置Tomcat4. 心得 1. 创建 2. 配置 首先创建两个文件夹 配置: 3. 配置Tomcat 右上角的按钮 添加 保证这几个不冲突,保证你的tomcat的文件没问题!!! 点击部署 选择第二个war exploded…

【Vue】Vue中的函数同步执行导致的数据获取失败问题处理

目录 问题描述原因解释总结原因 解决办法Promise解决async/await 解决 问题描述 Vue中的mount中有两个函数,第一个函数执行完后给data中的userInfo赋值但是第二个函数获取userInfo时是空值 原因解释 这种情况可能是因为第二个函数在获取 userInfo 时发生在第一个…

[开端]JAVA抽象类使用到redis观察着

一、绪论 当redis内容发生变化时需要通知一些观察者做一些动作怎么做? 二、JAVA抽象类 public abstract class AbstractRedisChangeListener {public abstract void change(String key, String value, String crudType); }使用abstract进行修饰一个类 其中抽象类…