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地址/测试页面名称

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】热题100 刷题笔记

文章目录 T1 两数之和T49 字母异位词分组常用小技巧 T1 两数之和 链接:1. 两数之和 题目: 【刷题感悟】这道题用两层for循环也能做出来,但我们还是要挑战一下时间复杂度小于 O ( n 2 ) O(n^2) O(n2)的解法,不能因为它是第一道 …

AIGC-Stable Diffusion发展及原理总结

目录 一. AIGC介绍 1. 介绍 2. AIGC商业化方向 3. AIGC是技术集合 4. AIGC发展三要素 4.1 数据 4.2 算力 4.3 算法 4.3.1 多模态模型CLIP 4.3.2 图像生成模型 二. Stable Diffusion 稳定扩散模型 1. 介绍 1.1 文生图功能(Txt2Img) 1.2 图生图功能&…

每日一题 --- 右旋字符串[卡码][Go]

右旋字符串 题目:55. 右旋字符串(第八期模拟笔试) (kamacoder.com) 题目描述 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面…

DHCP服务搭建

DHCP搭建 一、DHCP简介 1、概念 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动分配IP地址和其他网络配置信息给网络上的设备。通过DHCP,计算机或其他设备可以自动获取IP地址、…

使用CSS计数器,在目录名称前加上了序号,让目录看起来更加井然有序

目录(Text of Contents缩写为TOC),其实就是一篇文章的概要或简述。这好比,去书店买书,先是被这本书的标题所吸引,而后我们才会,翻开这本书目录,看看这本书主要是在讲些什么&#xff…

设置浏览器声音外放,其他声音耳机里放

需求描述: 我想在耳机里听歌,浏览器里的声音外放 找到这个面板 让浏览器的声音输出设为,扬声器

增加网站搜索引擎排名的6个准则

怎样提高网站排名首页 在竞争激烈的网络世界中,网站的排名对于吸引流量和提升曝光至关重要。登上搜索引擎结果页面的首页,意味着更多的曝光和点击率。以下是一些方法,可以帮助您提高网站在搜索引擎中的排名,让其跻身首页&#xf…

golang语言系列:Scrum、Kanban等敏捷管理策略

云原生学习路线导航页(持续更新中) 本文是 golang语言系列 文章,主要对编程通用技能 Scrum、Kanban等敏捷管理策略 进行学习 1.什么是敏捷开发 敏捷是一个描述软件开发方法的术语,它强调增量交付、团队协作、持续规划和持续学习。…

加密软件VMProtect教程:使用脚本-功能

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

【论文阅读】DETR 论文逐段精读

【论文阅读】DETR 论文逐段精读 文章目录 【论文阅读】DETR 论文逐段精读📖DETR 论文精读【论文精读】🌐前言📋摘要📚引言🧬相关工作🔍方法💡目标函数📜模型结构⚙️代码 &#x1f4…

Navicat工具使用

Navicat的本质: 在创立连接时提前拥有了数据库用户名和密码 双击数据库时,相当于建立了一个链接关系 点击运行时,远程执行命令,就像在xshell上操作Linux服务器一样,将图像化操作转换成SQL语句去后台执行 一、打开Navi…

plasmo内容UI组件层级过高导致页面展示错乱

我使用plasmo写了一个行内样式的UI组件,但是放到页面上之后,会和下拉组件出现层级错乱,看了一下样式,吓我一跳:层级竟然设置的如此之高 所以就需要将层级设置低一点: #plasmo-shadow-container {z-index: …

Java 操作 Hadoop 集群之 HDFS 的应用案例详解

Java 操作 Hadoop 注意:本文内容基于 Hadoop 集群搭建完成基础上: Linux 系统 CentOS7 上搭建 Hadoop HDFS集群详细步骤 本文的内容是基于下面前提: Hadoop 集群搭建完成并能正常启动和访问Idea 和 Maven 分别安装完成需要有 JavaSE 基础和熟悉操作hadoop 的 hdfs dfs 命令…

实验04_OSPF&RIP选路实验

实验拓扑 IP地址规划 拓扑中的 IP 地址段采用:172.16.AB.X/24。其中 AB 为两台路由器编号组合,例如:R3-R6 之间的 AB 为 36,X 为路由器编号,例如R3 的 X3所有路由器都有一个 loopback 0 接口,地址格式为&…

在 Three.js 中,`USDZExporter` 类用于将场景导出为 USDZ 格式,这是一种用于在 iOS 平台上显示增强现实(AR)内容的格式。

demo 案例 在 Three.js 中,USDZExporter 类用于将场景导出为 USDZ 格式,这是一种用于在 iOS 平台上显示增强现实(AR)内容的格式。下面是关于 USDZExporter 的入参、出参、方法和属性的讲解: 入参 (Parameters): sc…

【Frida】【Android】 07_爬虫之网络通信库HttpURLConnection

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

WSL Ubuntu20 使用1panelSSH连接失败(SSH服务初始化配置)

文章目录 安装网络工具ssh配置ssh服务安装 配置信息(命令行)配置信息(可视化)基础配置(可省过)高级配置(必须) 面板中终端配置SSH连接 安装网络工具 安装net工具apt install net-to…

行人重识别项目 | 基于Pytorch实现ReID行人重识别算法

项目应用场景 面向行人重识别场景,项目具有轻量化 (训练的时候也只需要 2GB 的显存占用)、性能好 (只使用 softmax 损失就能够达到 Rank188.24%, mAP70.68%),另外提供友好的上手项目流程教程 项目效果: 项目流程 > 具体参见项目内README.…

书生·浦语大模型全链路开源体系-第2课

书生浦语大模型全链路开源体系-第2课 书生浦语大模型全链路开源体系-第2课相关资源实战部署InternLM2-Chat-1.8B模型准备环境下载模型运行案例 实战部署InternLM2-Chat-7B模型准备环境下载模型及案例代码运行cli案例代码运行web案例代码配置SSH公钥信息配置SHH隧道连接 熟悉 Hu…

Echarts实现高亮某一个点

背景 接口会返回所有点的数据,以及最优点的数据。产品要求在绘制图形后,高亮最优点,添加一个红色的样式,如图。点击select选择器时,可选择不同指标和花费对应的关系。 以下介绍实现思路 1、自定义配置选择器的数据源…