lnmp环境部署极简保姆级教程(nginx+php+mysql)

news/2024/4/17 17:01:01

lnmp极简保姆级教程(nginx+php+mysql)

nginx

下载安装

https://nginx.org/download

 yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel #编译环境cd /opt
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
mkdir -p /www/nginx
./configure --prefix=/www/nginx
make && make install

启动

/www/nginx/sbin/nginx

常用指令

nginx -V 查看版本,以及配置文件地址
nginx -v 查看版本
nginx -c filename 指定配置文件
nginx -h 帮助
nginx -s reload|reopen|stop|quit // 重新加载配置|重启|停止|退出 nginx")重新加载配置|重启|停止|退出 nginx
nginx -t //查看配置是否有语法错误
nginx -c /usr/local/etc/nginx/nginx.conf //启动是加载指定nginx.conf文件

安装启动好php-fpm后,修改nginx.conf

location ~ \.php$ {root           /www/nginx/php;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;# fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #支持解析php文件include        fastcgi_params;}

php

yum方式安装

用yum方式安装php最新版

1 安装 epel-release源和 源管理工具yum-utils
yum -y install epel-release yum-utils
2 安装Remi软件源

Remi软件源官方地址: https://rpms.remirepo.net/

CentOS7安装:
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
CentOS7启动php模块并安装:

yum启动php模块,根据需要选择自己格式的版本,如remi-php74模块,就是php7.4版本。:

yum-config-manager --enable remi-php80    #启用remi源的php8.0模块

注:如果显示没有这个命令,则需要先安装yum -y install yum-utils 插件。

安装php及相关扩展:
yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis

安装成功:php -v 查看版本为php8.0版本

3 启动php-fpm
[root@xx logs]# whereis php-fpm
php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz[root@xx logs]# systemctl start php-fpm

mysql

yum安装mysql
MySQL三种安装方法(yum安装、编译安装、二进制安装)

yum安装mysql

1.卸载旧版mysql

如果安装过先卸载,第一次安装略过此步

[root@bunian etc]# rpm -qa | grep mysql
mysql-community-common-5.7.38-1.el7.x86_64
mysql-community-client-5.7.38-1.el7.x86_64
mysql80-community-release-el7-6.noarch
mysql-community-server-5.7.38-1.el7.x86_64
mysql-community-libs-5.7.38-1.el7.x86_64
# 所有组件都要删除
[root@bunian etc]# rpm -e --nodeps mysql-community-common-5.7.38-1.el7.x86_64
[root@bunian etc]# rpm -e --nodeps mysql-community-client-5.7.38-1.el7.x86_64
[root@bunian etc]# rpm -e --nodeps mysql80-community-release-el7-6.noarch
[root@bunian etc]# rpm -e --nodeps mysql-community-server-5.7.38-1.el7.x86_64
[root@bunian etc]# rpm -e --nodeps mysql-community-libs-5.7.38-1.el7.x86_64
# 清理yum headers cache
[root@bunian etc]# yum clean all
2.安装
2.1 rpm安装yum源
[root@bunian tmp]# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
2.2 下载rpm源文件再安装
[root@bunian tmp]# wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
[root@bunian tmp]# yum localinstall mysql80-community-release-el7-6.noarch.rpm
3.选择mysql版本
[root@bunian tmp]# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64           MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.5-community-source           MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.6-community/x86_64           MySQL Cluster 7.6 Comm 禁用
mysql-cluster-7.6-community-source           MySQL Cluster 7.6 Comm 禁用
mysql-cluster-8.0-community/x86_64           MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-debuginfo/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-source           MySQL Cluster 8.0 Comm 禁用
mysql-connectors-community/x86_64            MySQL Connectors Commu 启用:    192
mysql-connectors-community-debuginfo/x86_64  MySQL Connectors Commu 禁用
mysql-connectors-community-source            MySQL Connectors Commu 禁用
mysql-tools-community/x86_64                 MySQL Tools Community  启用:     90
mysql-tools-community-debuginfo/x86_64       MySQL Tools Community  禁用
mysql-tools-community-source                 MySQL Tools Community  禁用
mysql-tools-preview/x86_64                   MySQL Tools Preview    禁用
mysql-tools-preview-source                   MySQL Tools Preview -  禁用
mysql57-community/x86_64                    MySQL 5.7 Community Se 禁用
mysql57-community-source                     MySQL 5.7 Community Se 禁用
mysql80-community/x86_64                     MySQL 8.0 Community Se 启用:    343
mysql80-community-debuginfo/x86_64           MySQL 8.0 Community Se 禁用
mysql80-community-source                     MySQL 8.0 Community Se 禁用

默认是开启8.0版本

4.去除公钥检索校验 (最重要的地方)

这个地方容易出错,原因是没有去除校验导致服务安装后无法启动

#gpgcheck改成0
[root@bunian tmp]# vim /etc/yum.repos.d/mysql-community.repo
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
5.安装mysql
[root@bunian tmp]# yum install mysql-community-server
6.配置mysql
[root@bunian tmp]# vim /etc/my.cnf
[mysqld]
# 不区分大小写
lower_case_table_names=1
# 端口号
port = 3306
7.启动mysql
[root@bunian tmp]# systemctl start mysqld
8.修改mysql root密码及外网访问

初始密码在这里/var/log/mysqld.log

# 密码是:6;-#?gn*q;0H
[root@bunian etc]# grep 'temporary password' /var/log/mysqld.log
2022-06-21T03:25:39.021858Z 1 [Note] A temporary password is generated for root@localhost: 6;-#?gn*q;0H
登录mysql修改密码
[root@bunian etc]# mysql -h localhost -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.38 MySQL Community Server (GPL)mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpasswd';
修改外网访问

在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user;

执行完上面的命令后会显示一个表格
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

授权 root 用户的所有权限并设置远程访问

update user set host='%' where user='root';
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON *.* TO 'root'@'%';

执行两次 GRANT ALL ON . TO ‘root’@‘%’;

刷新权限

mysql> flush privileges;
9.检验是否安装成功
# 查看mysql端口号
[root@bunian etc]# netstat -nltp | grep 3306
tcp6       0      0 :::33060                :::*                    LISTEN      1292/mysqld         
tcp6       0      0 :::3306                 :::*                    LISTEN      1292/mysqld    
10.Navicat连接
用Navicat连接报错:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded
原因以及解决办法

由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式: caching_sha2_password

所以我们需要修改用户的加密方式,将其改为老的加密验证方式: mysql_native_password

#登录
mysql -h localhost -p#选择数据库
use mysql; # 注意:先 select host, user from user; 查看host值再决定以下是'root'@'%' 还是 'root'@'localhost'
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';#刷新权限
FLUSH PRIVILEGES; 
11.php连接mysql

连接Navicat创建test数据库、new表
vim /www/nginx/php/index.php

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);// 检查连接
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}// 执行查询
$sql = "SELECT * FROM new";
$result = $conn->query($sql);// 输出数据
if ($result->num_rows > 0) {while($row = $result->fetch_assoc()) {echo "id: " . $row["id"]. " - name: " . $row["name"]. "<br>";}
} else {echo "0 结果";
}
//访问ip/index.php
id: 1 - name: 测试文章

https://www.xjx100.cn/news/3091650.html

相关文章

【Skynet 入门实战练习】开发环境搭建 | 运行第一个项目 | debug console 简单使用

文章目录 写在前面开发环境搭建skynet配置文件项目&#xff0c;启动&#xff01; debug console 写在前面 本系列【Skynet 入门实战练习】所有源码同步&#xff1a;https://gitee.com/Cauchy_AQ/skynet_practice 开发环境搭建 skynet skynet 框架地址&#xff1a;https://g…

小众市场:探索跨境电商中的利基领域

随着全球数字化和互联网的普及&#xff0c;跨境电子商务已经成为了一个蓬勃发展的产业。从亚马逊到阿里巴巴&#xff0c;大型电商平台已经占据了很大一部分市场份额。 然而&#xff0c;在这个竞争激烈的领域&#xff0c;寻找小众市场和利基领域可能是一种成功的策略。本文将探…

网络安全(黑客)-自学手册

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…

Prolog 中的逻辑探险:学习9组逻辑蕴涵公式

引言 上次写了16组等价公式定律,今天继续用Prolog写9组逻辑蕴涵公式。 感觉这些公式的名称与公式挺难一一对应来记忆的,只能多练习了. 1. 附加律 (Addition) A ⇒ A∨B 当你拿到一个苹果&#xff08;A&#xff09;&#xff0c;突然你知道&#xff0c;即使有了梨&#xff08;…

获取所有非manager的员工emp_no

个人网站 文章首发于公众号小肖学数据分析 题目来自牛客网 描述 有一个员工表employees简况如下: emp_nobirth_datefirst_namelast_namegenderhire_date100011953-09-02GeorgiFacelloM1986-06-26100021964-06-02BezalelSimmelF1985-11-21100031959-12-03PartoBamfordM1986…

CNN卷积神经网络Python实现

import torch from torch import nn# ①定义互相关运算 def corr2d(X, K):"""计算二维互相关运算。"""# 获取K的形状 行为h,列为wh, w K.shape# 生成全0的矩阵&#xff0c;行为X的行减去h加上1&#xff0c;列为X的列减去w加上1Y torch.zeros((…

SAP的一些当说不说的常识

ABAP中的WDA与FRMbopf restful和odata postman软件 SAP中MM模块相关 SAP 物料 移动类型 https://www.cnblogs.com/rainysblog/p/4133259.html T移动类型文本含义一般用途T-code101GR 收货直接收货工单入库&#xff0c;购买成品入库MIGO/CO11N102用于PO冲销的收货冲销直接…

手把手入门MO | 如何使用SeaTunnel将数据写入MatrixOne

1 概述 SeaTunnel 是一个分布式、高性能、易扩展的数据集成平台&#xff0c;专注于海量数据&#xff08;包括离线和实时数据&#xff09;同步和转化。MatrixOne 支持使用 SeaTunnel 从其他数据库同步数据&#xff0c;可以稳定高效地处理数百亿条数据。 本文档将介绍如何使用 …