Linux中间件(nginx搭建、LNMP服务搭建)

目录

一、安装nginx

第一步、下载nginx的压缩包到Linux中

​第二步、安装依赖

第三步:安装 nginx

第四步:启动nginx 

第五步:测试nginx

二、 nginx的配置文件

 nginx.conf文件内容解读

案例:发布多个网站 

 二、lamp/lnmp

简介:

三、配置lnmp

 ​编辑

第一步:安装nginx

第二步:安装mysql

第三步:安装php和php.fpm 

第四步:修改nginx配置文件 

第五步:测试页面 


一、安装nginx

nginx.org  是nginx的官网  里面有下载地址download) 和 文档/说明(documentation)
nginx也是一个中间件,轻量级,高性能 (跟apache相比)
安装nginx的时候,我们可以选择编译安装和yum安装。
这次我们用编译安装来安装nginx
依赖:openssl-devel  zlib-devel   ncurses-devel   pcre-devel  gcc  gcc-c++

第一步、下载nginx的压缩包到Linux中

(如果没有wget 的话,我们可以先安装一下yum install wget -y)
 wget https://nginx.org/download/nginx-1.24.0.tar.gz    ​​​​​​

 第二步、安装依赖

yum install openssl-devel zlib-devel ncurses-devel pcre-devel gcc gcc-c++

第三步:安装 nginx

tar xvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx && make && make install

cd /usr/local/nginx

ls  --->  conf   html   logs    sbin

conf     是nginx的皮配置文件

html     这个目录是nginx默认网站的根目录

logs     这个是nginx的日志文件目录

sbin     这个是nginx的启动程序的目录

第四步:启动nginx 

cd /usr.local/nginx/sbin   这个目录下有个nginx的文件  ,我们看一下它是文本文件还是二进制文件
file /usr/local/nginx/sbin/nginx

 然后我们  cd /usr/local/nginx/sbin/   
然后./nginx
如果启动失败像这样,说明80端口被占用了,我们需要查看一下谁占用了并将进程停用掉

ss -tnl | grep 80 查看一下80是否开启了,然后端口冲突了

lsof -i 是一个Linux命令,用于列出当前系统打开的网络连接和监听端口
lsof  -i  :80  

pkill httpd 杀死进程    ,然后再看一下是否杀死了  lsof -i :80,然后在  ./nginx 一下启动

第五步:测试nginx

 172.x.x.x  Linux的IP地址

 

如果你想修改网页的内容,我们可以 cd /usr/local/nginx/html  
然后修改  vim index.html   

扩展一下:编译安装的话  如何重启nginx和让nginx开机自动启动

 扩展:重启nginx  要不就杀死进程,然后在启动   要不就-s  reload 命令重启
-s reload  要先进入目录这样
方法1:cd /usr/local/nginx/sbin
./nginx -s reload

        * 我们可以把nginx的路径写入环境变量里,这样我们就可以在别的目录下启动nginx
export PATH=$PATH:/usr/local/nginx/sbin

我们切换到root的家目录下尝试nginx ,发现可以启动
方法2:先kill -9杀死   然后再启动

扩展:实现nginx开机自启动
 ls /etc/rc.d/rc.local   这个文件是当开机的时候,会把里面的命令自动执行一遍
我们把启动命令写到里面去
vim /etc/rc.d/rc.local
/usr/local/nginx/sbin/nginx


但是在cen7之后我们需要给这个文件赋权
chmod +x /etc/rc.d/rc.local

二、 nginx的配置文件

 /usr/local/nginx/conf/nginx.conf
  *  ps  aux 是一个用于显示系统当前运行的进程信息的命令 

                a  显示所有用户的进程

                u  以用户为主的格式显示进程详细信息

                x  显示没有控制终端的进程

 nginx.conf文件内容解读

 

 

案例:发布多个网站 

修改配置文件   可以把注释的部分删掉,在http中写入我们的网站,然后重启服务
/usr/local/nginx/sbin/nginx -s reload
   
注意这个 web3 下
index  index.html;   才对
记得每句要加分号

在/usr/local/nginx/html 下创建  mkdir  web{1,,3} 

echo "1111">/usr/local/nginx/html/web1/index.html

echo "2222">/usr/local/nginx/html/web2/index.html

echo "3333">/usr/local/nginx/html/web3/index.html

/index.html

修改好之后我们去cmd中ping一下看看是否互通,如果不通的话,我们就要去修改windows系统下的hosts文件  C:\Windows\System32\drivers\etc  写入  IP地址  域名
最后我们用www.web1.com  www.web2.com    www.web3.com   来测试是否成功

 二、lamp/lnmp

简介:

lamp :linux \  apache   \  mysql   \  php
lnmp :  linux  \  nginx     \  mysql    \  php
静态:服务器会直接返回给客户端,通过浏览器展示
        例如 图片  视频

动态:请求的文件会在服务器端执行,然后服务器端会将程序的执行结果返回给客户端
        例如   php java 等

 

三、配置lnmp

基于fcgi的安装  可以实现动静分离 

 

安装的组件
nginx - epel源
php-fpm  remi 源
mysql   mariadb

第一步:安装nginx
第二步:安装mysql

yum install mariadb
然后启动:systemctl start mariadb  
开机自启动:systemctl enable mariadb
如果启动不了的话可以安装一下yum install mariadb-server,然后再启动

第三步:安装php和php.fpm 

我们这里要安装php7
如果你已经安装了PHP的其他版本的话,但是现在想安装php7的话,先把原来的删除掉

1.检查当前安装的PHP包
yum list installed | grep php

如果有安装的PHP包,先删除他们
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 phpldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

2、设置yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想删除上面安装的包,重新安装

rpm -qa | grep webstatic

rpm -e 上面搜索到的包即可

3、运行yum install安装支持包
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64

4.安装PHP FPM
yum install php70w-fpm

 关闭防火墙:systemctl stop firewalld       systemctl disable firewalld
setenforce 0
cat /etc/selinux/config

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

第四步:修改nginx配置文件 

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.web1.com;
    root /usr/local/nginx/html/web1;
    index index.html;
    
    location ~ \.php$ {
        root    /myphp;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index    index.php;
        fastcgi_param    SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        include        fastcgi_params;
    }
        }
}
然后在/myphp 中写一个动态文件

第五步:测试页面 

 IP地址/测试页面名称

 

 

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

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

相关文章

ARM64架构栈帧以及帧指针FP

文章目录 前言一、arm64架构寄存器简介1.1 异常等级1.2 通用寄存器1.3 ARM64架构ABI 二、ARM64架构函数调用标准2.1 AArch64过程调用标准简介2.2 通用寄存器中的参数 三、demo分析3.1 main函数3.2 funb3.3 funa 四、栈帧总结五、demo演示参考资料 前言 这篇文章描述了 x86_64架…

LC 108.将有序数组转换为二叉搜索树

108.将有序数组转换为二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入&…

筛选树形菜单时关联其父节点和子节点

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 树形菜单 在很多系统管理/菜单管理中经常会出现下面这样的树形菜单,它是通过前端的Tree组…

如何让光猫4个网口都有网络

一般情况光猫只有LAN1口有网络,LAN2、LAN3和LAN4口都是预留给电视用的,那么如何让这3个网口也有网络呢? 使用场景: 光猫在弱电箱内,弱电箱中有三根网线(网线1、网线2和网线3)分别接入到了三个房…

宝塔面板 -- 打包前端项目并部署提升访问速度

文章目录 前言一、打包前端项目二、添加PHP项目三、部署打包文件四、开通防火墙五、运行网站总结 前言 在前面写到的文章使用宝塔面板部署前端项目中,并没有将前端项目打包而是直接部署,导致网站访问速度非常慢,加载甚至要十几秒。因此&…

文献学习-25-综合学习和适应性教学:用于病理性胶质瘤分级的多模态知识蒸馏

Comprehensive learning and adaptive teaching: Distilling multi-modal knowledge for pathological glioma grading Authors: Xiaohan Xing , Meilu Zhu , Zhen Chen , Yixuan Yuan Source: Medical Image Analysis 91 (2024) 102990 Key words: 知识蒸馏、模态缺失、胶质瘤…

docker部署DOS游戏

下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/dosgame-web-docker:latestdocker-compose部署 vim docker-compose.yml version: 3 services:dosgame:container_name: dosgameimage: registry.cn-beijing.aliyuncs.com/wuxingge123/dosgame-web-docke…

新增收货地址

目录 🧂1.创建controller层 🥓2.创建service层 🌭3.注意细节 🍿4.避免dao数据暴漏 1.创建controller层 controller不做逻辑操作,只接受前端的数据 1.添加Api设置swagger模块名称2.RestController以json形式返回…

Spring Boot项目启动速度优化

1、配置自动配置排除列表,减少启动自动配置扫描,配置项spring.autoconfigure.exclude 2、启动类添加索引注解Indexed,去除启动过程中 Components 的扫描步骤,直接从索引文件读取。 import org.springframework.stereotype.lndexe…

DXP学习3-单片机时钟显示系统的层次原理图设计

目录 一,自上而下的子母图设计 1,绘制层次式电路母图 1)工程及原理图创建和保存 2)开始绘制层次式母图main.SchDoc 2,绘制图纸符号 1)properties选项卡 2)designator标号 3)filename文件名 4&…

双目测距项目 | 在Jetson-Nano平台上部署SGBM深度测距+YOLOv5目标检测算法

项目应用场景 面向在 Jetson Nano 平台上部署 SGBM 深度测距和基于 YOLOv5 的目标检测算法,实现双目测距的功能。 项目流程与效果: 项目细节 > 具体参见项目 README.md项目获取 https://download.csdn.net/download/weixin_42405819/89051043

直方图均衡化的本质

Rafael C. Gonzalez “Digital Image Processing”的错误 直方图均衡化的本质是灰度级分布的近邻映射,这部分的内容全错。总有些人崇洋媚外。 我修改了相关的内容,参阅禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程…