Ubuntu 22.04 LTS 安装lnmp
Ubuntu 22.04 LTS 安装最新稳定版本nginx、mysql5.7和php7.2
全部apt-get安装,就是快,迅速。前提是需要在有网络环境的情况下哈!!
操作系统版本:Ubuntu 22.04 LTS

一、安装最新稳定版本的nginx
apt-get update
# 查看默认安装的nginx版本(默认为1.18。有点老,我们安装最新稳定版本)
apt-cache policy nginx
# 修改apt源,在最后添加(:wq保存退出)
vim /etc/apt/sources.list
# NGINX
deb http://nginx.org/packages/ubuntu jammy nginx
deb-src http://nginx.org/packages/ubuntu jammy nginx
# 导入nginx公钥
wget https://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
# 更新apt源
apt-get update
# 再次查看默认的nginx版本(第一个已经是最新稳定的nginx版本)
apt-cache policy nginx
# 安装nginx
apt-get install nginx
# 查看nginx版本加入开机启动
nginx -V
systemctl enable nginx
systemctl is-enabled nginx






至此ningx安装完成
二、安装mysql5.7版本
可以参考:https://www.cnblogs.com/wltian-one/p/17767082.html
基本是一样的。
# 查看系统默认安装的数据库版本(ubuntu 22.04自带的版本是8.0.35,而我们需要安装mysql5.7的版本就需要换源)
apt-cache policy mysql-server
# 备份原来的sorce文件
cp /etc/apt/sources.list /etc/apt/sources.list_back
# (dG全部删除)
vim /etc/apt/sources.list
# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 导入mysql公钥
gpg --keyserver keyserver.ubuntu.com --recv 3B4FE6ACC0B21F32
gpg --export --armor 3B4FE6ACC0B21F32 | apt-key add -
# 更新
apt-get update
# 再次查看默认mysql版本
apt-cache policy mysql-server
# 安装mysql
apt-get install mysql-server-5.7
# 查看mysql是否安装成功
dpkg -l | grep mysql
# 设置开机自启
systemctl enable mysql
systemctl is-enabled mysql
# 修改mysql密码(直接输入mysql,此时不需要输入密码)
mysql
msyql>use mysql;
mysql> alter user root@'localhost' identified with mysql_native_password by "12345678";
mysql> flush privileges;
mysql> exit
# 把镜像源重新换回
rm -f /etc/apt/sources.list
mv /etc/apt/sources.list_back /etc/apt/sources.list
apt-get update
退出后重新进入就需要输入密码了!





三、修改mysql数据库数据存储位置(按照实际需求来,可选)
1、先停止mysql服务
systemctl stop mysql
2、创建新的数据存储目录
mkdir /home/mysql
cp -ar /var/lib/mysql/* /home/mysql
chown -R mysql:mysql /home/mysql

3、修改mysql配置文件
# 先备份一份
cp -a /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf_back
vim /etc/mysql/mysql.conf.d/mysqld.cnf
datadir = /home/mysql

注意:只是修改MySQL的配置文件是不行的,因为Ubuntu有访问控制系统apparmor,所以还需要修改与该访问控制系统相关的文件
4、修改安全保护文件
cp -a /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/usr.sbin.mysqld_back
vim /etc/apparmor.d/usr.sbin.mysqld
把带有/var/lib/mysql
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
改成
/home/mysql/ r,
/home/mysql/** rwk,

5、修改访问控制文件
cp -a /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/abstractions/mysql_back
vim /etc/apparmor.d/abstractions/mysql
/var/lib/mysql{,d}/mysql{,d}.sock rw,
改成
/home/mysql{,d}/mysql{,d}.sock rw,
vim /etc/apparmor.d/tunables/alias
#最后添加
alias /var/lib/mysql/ -> /home/mysql/,

6、重启apparmor服务
systemctl restart apparmor
7、开启数据库
systemctl start mysql
8、查看数据库的状态
systemctl status mysql

至此mysql数据库安装完成
四、安装php7.2
1、安装 SURY APT 存储库
# 查看默认安装的php
apt-cache policy php

# 要在 Ubuntu 22.04 上安装 PHP 7.1/7.2/7.3/7.4,您需要安装 SURY,即提供 PHP 包的第三方存储库。
apt-get -y install software-properties-common
add-apt-repository ppa:ondrej/php --yes
apt-get update
# 查看
apt list|grep php7.2-*

2、安装php7.2
apt-get -y install php7.2
下载了php7.2会自动下载apache2,这时候需要我们删除apache2
# 查看apache2
dpkg -l |grep apache2
# 删除
apt-get autoremove apache2
apt-get autoremove apache2-bin
find /etc -name "*apache*" |xargs rm -rf
rm -rf /var/www
rm -rf /etc/libapache2-mod-jk
rm -rf /etc/init.d/apache2
rm -rf /etc/apache2
# 删除关联
dpkg -l |grep apache2|awk '{print $2}'|xargs dpkg -P
# 再次查看apache2
dpkg -l |grep apache2
# 安装扩展(安装自己的需求)
apt-get install php7.2-curl php7.2-dev php7.2-gd php7.2-mysql php7.2-xml php7.2-xdebug php7.2-redis php7.2-apcu php7.2-intl php7.2-memcached
# 查看
php -v
php -m
dpkg -l | grep php7.2*
# 开机自启
systemctl enable php7.2-fpm


至此php7.2安装成功
四、nginx调用php7.2
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Ubuntu 22.04 LTS 安装lnmp的更多相关文章
- Ubuntu 22.04 LTS 安装 0.A.D 实时策略游戏 并汉化
众所周知,Linux生态中,能玩的正儿八经的大型游戏其实没几个,而 0.A.D 这个游戏就是这其中之一.这是一个类似于帝国时代的实时策略游戏,开源跨平台,这是其官方网站:https://play0ad ...
- Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel
Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...
- Ubuntu 16.04 LTS安装 TeamViewer
Ubuntu 16.04 LTS安装 TeamViewer 64位Ubuntu 16.04系统需要添加32位架构支持,命令如下. sudo dpkg --add-architecture i3 ...
- Ubuntu 16.04 LTS 安装 miniconda
Ubuntu 16.04 LTS 安装 miniconda 下载 miniocnda 的 bash 文件下载链接 https://conda.io/miniconda.html ,我选择的是 64-b ...
- ubuntu 14.04 lts安装教程:u盘安装ubuntu 14.04 lts步骤
绿茶小编带来了ubuntu 14.04 lts安装教程,下文详细讲解了u盘安装ubuntu 14.04 lts的步骤,很简单,只需要一个工具就能够轻松使用u盘安装ubuntukylin 14.04系统 ...
- 转:ubuntu 18.04 LTS 安装 java10(JDK) 及问题说明
原文地址:ubuntu 18.04 LTS 安装 java10 及问题说明 1.下载相应的安装包,例如jdk-10.0.1_linux-x64_bin.tar.gz.下载地址: http://www. ...
- (转)Ubuntu 12.04 LTS安装VMware Tools实现linux和window 互相复制:无法找到kernel header path的问题
Ubuntu 12.04 LTS安装VMware Tools无法找到kernel header path的问题 ubuntuvmware Ubuntu 12.04 安装 VMware Tools, ...
- Ubuntu 14.04 LTS 安装和配置Bochs
Ubuntu 14.04 LTS 安装和配置Bochs 系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...
- Ubuntu 14.04 LTS 安装Docker
Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...
- Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本)
看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...
随机推荐
- ChatGPT如何生成可视化图表-示例中国近几年出生人口
本教程收集于:AIGC从入门到精通教程汇总 ChatGPT本身不能直接生成可视化图表,但可以配合其他可视化工具或库 方法一:前端可视化开发库 Echarts(地址:Apache ECharts ) 方 ...
- 美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?
周末的时候,有一位小伙伴提了一些关于 ConcurrentHashMap 的问题,都是他最近面试遇到的.原提问如下: 整个提问看着非常复杂,其实归纳来说就是两个问题: ConcurrentHashMa ...
- PyCharm的基础了解
简单了解PyCharm PyCharm的简单使用 修改主题 1 2 切换解释器 1 如何创建pythin文件 1 2 3 4 注释语法 行注释 这里是注释 块注释 '''这里是注释''' 常量和变量的 ...
- Blazor前后端框架Known-V1.2.14
V1.2.14 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Git ...
- SQL Server实例间同步登录用户
SQL Server实例间同步登录用户 问题痛点:由于AlwaysOn和数据库镜像无法同步数据库外实例对象,例如 登录用户.作业.链接服务器等,导致主库切换之后,应用连接不上数据库或者作业不存在导致每 ...
- MySQL-通过存储过程来添加和删除分区(List分区)
1.背景原因 当前MySQL不支持在添加和删除分区时,使用IF NOT EXISTS和IF EXISTS.所以在执行调度任务时,直接通过ADD PARTITION和DROP PARTITION不可避免 ...
- 在 Net7.0环境下通过反射创建泛型实例和调用泛型方法
一.介绍 最近没事干,就用闲暇时间写点东西,也记录一下温习历程.老人说的好,好记性,不如烂笔头.时间一长,当时记忆的再清楚,都会变得模糊,索性就写博客记录下来,如果下次需要,直接打开博客就找到了,不用 ...
- 个人理解strcpy
char * strcpy(char *dst,const char *src) { if((dst==NULL)||(src==NULL)) return NULL; char *ret = dst ...
- VScodeSSH免密登录服务器
参考:配置vscode 远程开发+ 免密登录 背景 我想要让VScode实现SSH免密登录服务器,那么就需要使用ssh keygen 生成的公私钥对,公钥id_rsa.pub放在服务器上,私钥id_r ...
- IEEE 国际计算科学与工程会议 (CSE-2023)
随着计算机系统变得越来越庞大和复杂,基于数据的计算技术在支持下一代科学和工程应用方面发挥着关键作用.如今,科学和工程中基于云的复杂大数据应用由异构软件/硬件/网络组件组成,这些组件的容量.可用性和环境 ...