LNMP环境搭建

文章目录

  • LNMP环境搭建
    • LNMP部署之Nginx
      • 编译安装nginx
    • LNMP部署之MySQL
      • RPM安装
    • LNMP部署之PHP
      • yum安装
      • php连接数据库测试

LNMP环境搭建

LNMP是一种web服务器架构,与LAMP类似。它由Linux、Nginx、MySQL和PHP组成,这四个组合再一起提供了一个完整的Web服务器环境。

LNMP部署之Nginx

编译安装nginx

nginx源码包下载地址:http://nginx.org/download/

第一步:安装依赖环境

[root@localhost ~]# hostnamectl set-hostname lnmp-server
[root@localhost ~]# bash
[root@lnmp-server ~]# [root@lnmp-server ~]#  yum install -y make gcc-c++ pcre pcre-devel zlib-devel openssl openssl-devel

第二步:下载nginx源码包

这里使用的是nginx 1.16.0版本

[root@lnmp-server ~]#  mkdir /opt/mytools/
[root@lnmp-server ~]#  wget -O /opt/mytools/nginx-1.16.0.tar.gz http://nginx.org/download/nginx-1.16.0.tar.gz

第三步:解包

[root@lnmp-server ~]#  cd /opt/mytools/
[root@lnmp-server mytools]# tar -zxf nginx-1.16.0.tar.gz 
[root@lnmp-server mytools]# ls
nginx-1.16.0  nginx-1.16.0.tar.gz
[root@lnmp-server mytools]# cd nginx-1.16.0
[root@lnmp-server nginx-1.16.0]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

第四步:创建nginx用户

[root@lnmp-server nginx-1.16.0]# useradd nginx -u 1160 -s /sbin/nologin -M
[root@lnmp-server nginx-1.16.0]# cat /etc/passwd |grep nginx
nginx:x:1160:1160::/home/nginx:/sbin/nologin

第五步:编译安装nginx

[root@lnmp-server nginx-1.16.0]# ./configure  --user=nginx --group=nginx  --prefix=/usr/local/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module[root@lnmp-server nginx-1.16.0]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
# 生成了Makefile
[root@nginx nginx-1.16.0]# make && make install

第六步:配置环境变量

[root@lnmp-server nginx-1.16.0]# echo "export  PATH=${PATH}:/usr/local/nginx-1.16.0/sbin/" >> /etc/profile
[root@lnmp-server nginx-1.16.0]# source /etc/profile

第七步:开启Nginx防火墙开放端口访问测试

[root@lnmp-server nginx-1.16.0]# nginx
[root@lnmp-server nginx-1.16.0]# netstat -tlnp |grep 80
tcp      0     0 0.0.0.0:80        0.0.0.0:*    LISTEN      55819/nginx: master 
[root@lnmp-server nginx-1.16.0]# firewall-cmd --add-port=80/tcp --permanent
success
[root@lnmp-server nginx-1.16.0]# firewall-cmd --reload
success

image-20230711114106083

LNMP部署之MySQL

RPM安装

第一步:下载安装

[root@lnmp-server ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm[root@lnmp-server ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@lnmp-server ~]# yum install -y mysql-server

第二步:启动服务

[root@lnmp-server ~]# systemctl start mysqld && systemctl enable mysqld
[root@lnmp-server ~]# netstat -tlnp |grep 3306
tcp6       0      0 :::3306           :::*         LISTEN      12019/mysqld   

image-20230712102651532

第三步:设置密码

[root@lnmp-server ~]# mysqladmin -uroot password "000000"

第四步:测试登录并设置所有用户都可以远程登录

[root@lnmp-server ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.51 MySQL Community Server (GPL)Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '000000';
Query OK, 0 rows affected (0.00 sec)
# root 用户授予所有数据库的所有权限,并设置密码为 '000000'
mysql> exit;

第五步:防火墙放行3306端口

[root@lnmp-server ~]# firewall-cmd --add-port=3306/tcp --permanent
success
[root@lnmp-server ~]# firewall-cmd --reload
success

第六步:远程测试访问

image-20230712120110894

image-20230712120055420

LNMP部署之PHP

yum安装

第一步:安装php

[root@lnmp-server ~]# yum install -y php php-mysql php-fpm

第二步:更改nginx配置文件让它支持php文件

[root@lnmp-server ~]# vim /usr/local/nginx-1.16.0/conf/nginx.conf
# 在server添加如下内容location / {root   html;index  index.html index.htm;}location ~ .*\.(php|php5)?$ {root html/myphp;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;include        fastcgi.conf;}

第三步:创建站点文件检查是否支持php文件

[root@lnmp-server ~]# mkdir /usr/local/nginx-1.16.0/html/myphp
[root@lnmp-server ~]# echo "<?php phpinfo(); ?>" > /usr/local/nginx-1.16.0/html/myphp/index.php

第四步:重启php服务,重新读入nginx配置文件

[root@lnmp-server ~]# systemctl restart php-fpm && nginx -s reload

第五步:浏览器访问

ip:port/index.php

# 查看本机IP
[root@lnmp-server ~]# hostname -I
192.168.200.10 

image-20230712171116444

看到phpinfo的页面,表示lnmp环境搭建好了,nginx已经可以转发请求给php了

php连接数据库测试

[root@lnmp-server ~]# cd /usr/local/nginx-1.16.0/html/myphp/
[root@lnmp-server myphp]# ls
index.php[root@lnmp-server myphp]# vim php-mysql.php
<?php
header("content-type:text/html;charset=utf-8");
$servername = "localhost";
$username = "root";
$password = "000000";$conn = new mysqli($servername,$username,$password);if ($conn->connect_error) {die("连接失败:". $conn->connect_error);
}
echo "连接成功";
?>

访问测试

image-20230712173741497

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19388.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】AVL树

文章目录 AVL树1. AVL树的概念2. AVL树节点的定义3. AVL树的插入4. AVL树的旋转 AVL树 1. AVL树的概念 二叉搜索树可以缩短查找的效率&#xff0c;但是如果数据接近有序二叉搜索树将会退化为单支&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。 当向二…

【面试题28】什么是PHP-FPM?它与PHP和Nginx有什么关系

文章目录 一、前言二、什么是PHP-FPM&#xff1f;三、PHP-FPM的生命周期3.1 启动阶段3.2 初始化阶段3.3 请求处理阶段3.4 关闭阶段 四、PHP-FPM与PHP的关系五、PHP-FPM与Nginx的通信方式六、总结 一、前言 本文已收录于PHP全栈系列专栏&#xff1a;PHP面试专区。 计划将全覆盖P…

华为战略方法论:BLM模型之战略意图(限制版)

目录 前言 案例 BLM模型 专栏列表 CSDN学院 个人简介 前言 对于任何一家企业来说&#xff0c;即便你没有清晰的战略规划。 一般也都是会有战略意图的。 战略意图具体是指你主观想要达成什么样的期望或者是状态。 换句话说&#xff0c;如果没有这种期望&#xff0c;你…

【云存储】主流分布式文件系统介绍

目录 1、引言 2、云存储与分布式文件系统 2.1、云存储 2.2、分布式文件系统 3、Google的三大云计算与云存储论文 3.1、The Google File System&#xff08;谷歌文件系统&#xff09; 3.2、MapReduce&#xff1a;Simplified Data Processing on Large Clusters&#xff0…

分类模型评估指标详解(二分类、多分类、混淆矩阵)

一 、二分类评估 1.混淆矩阵 (ConfusionMatrix) TP&#xff1a;1的预测为1 (正确的积极) 正确判断 FP&#xff1a;0预测为1 (错误的积极) 错误判断 FN&#xff1a;1预测为0 (正确的消极) 漏判断的 TN&#xff1a;0预测为0 (错误的消极) 成功未判断的 准确率&#xff1a;(a…

个人云服务器搭建MQTT服务器

个人云服务器搭建MQTT服务器 文章目录 个人云服务器搭建MQTT服务器1️⃣ 前言2️⃣ EMQX部署 1️⃣ 前言 MQTT &#x1f449;MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;即消息队列遥测传输协议 • 是一个轻量的发布订阅模式消息传输协议&#xff0c;专门…

STM32 Proteus仿真LCD12864俄罗斯方块-FZ0063

STM32 Proteus仿真LCD12864俄罗斯方块-FZ0063 Proteus仿真小实验&#xff1a; STM32 Proteus仿真LCD12864俄罗斯方块-FZ0063 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 LCD12864显示器多个按键 1.标准俄罗斯方块经典游戏玩法&#xff0c;带计时&#xff0c…

Mysql 实现批量插入对已存在数据忽略或更新

Mysql 实现批量插入对已存在数据忽略/更新 文章目录 Mysql 实现批量插入对已存在数据忽略/更新一. 表的准备二. 实现2.1 实现原理2.2 批量插入对已存在数据忽略 一. 表的准备 CREATE TABLE demo (id int NOT NULL AUTO_INCREMENT COMMENT 主键id,name varchar(10) DEFAULT NUL…

shell脚本--------shell变量、条件表达式、流程控制

第三阶段基础 时 间&#xff1a;2023年7月7日 参加人&#xff1a;全班人员 内 容&#xff1a; shell变量、条件表达式、流程控制 目录 一、shell变量 二、shell条件表达式与运算符 三、break和continue语句 演示&#xff1a;break语句 continue语句 四、实例拓展 …

9.2.4 vim 的暂存盘、救援回复与打开时的警告讯息

当我们在使用 vim 编辑时&#xff0c; vim 会在与被编辑的文件的目录下&#xff0c;再创建一个名为.filename.swp 的文件。 比如说我们在上一个小节谈到的编辑 /tmp/vitest/man_db.conf 这个文件时&#xff0c; vim 会主动的创建 /tmp/vitest/.man_db.conf.swp 的暂存盘&#x…

常用数据分类算法原理介绍、优缺点分析与代码实现[LR/RF/DT/SVM/NavieBayes/GBDT/XGBoost/DNN/LightGBM等]

本文的主要目的是总结记录日常学习工作中常用到的一些数据分类算法&#xff0c;对其原理简单总结记录&#xff0c;同时分析对应的优缺点&#xff0c;以后需要的时候可以直接翻看&#xff0c;避免每次都要查询浪费时间&#xff0c;欢迎补充。 机器学习领域中常用的分类模型包括以…

智能物流监控系统的数据平台技术研究

完整资料进入【数字空间】查看——baidu搜索"writebug" 1.1 项目背景 物联网技术是利用传感器嵌入各种末端设备&#xff0c;通过无线或有线网络接入互联网以实现人与物、物与物实时互联的新兴技术[1]。 智能物流监控系统是在物流量越来越大、物流价值越来越贵重的背…