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.mzph.cn/news/786834.shtml

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

相关文章

一文入门Ubuntu22

目录 1.安装Ubuntu22 2.常用目录 3.常用指令 1.sudo 超级用户权限运行命令 2.ls 罗列当前文件信息 3.文件目录相关: 1.cd改变工作路径: 2.pwd 3.创建目录和文件: 4.which 5.ps 6.kill 7.ping 4.用户相关 5.ssh与scp 6.服务相关…

数字孪生|山海鲸数据管家简介及安装步骤

哈喽,大家好啊,我是雷工! 最近在学习数字孪生相关的软件山海鲸,了解到采集Modbus协议需要先安装山海鲸数据管家,本节先学习数据管家及安装步骤,以下为学习笔记: 1、简介 数据管家是帮用户进行…

vue+nodejs+小区物业报修系统2e1fq

在对平台的各个功能模块建成整合后,使系统能够正常的运行,让用户能够通过使用本系统进行物业管理。 (1)前台业主端预期结果:业主能够查看物业相关公告信息,能够查看自己的缴费信息以及能够报修和投诉。 &am…

Android Studio调试中的坑

1、新建Android工程后编译发现报错 2、发现无33和34的SDK更新 3、查看google相关文档 Android Gradle 插件 8.3 版本说明 | Android Studio | Android Developers 如果需要支持相关更高SDK需要的Android Studio版本和Android Gradle 插件是有版本要求的,相关要…

Vision-Language Models for Vision Tasks: A Survey

论文地址:https://arxiv.org/pdf/2304.00685.pdf 项目地址:https://github.com/jingyi0000/VLM_survey 一、综述动机 视觉语言模型,如CLIP,以其独特的训练方式显著简化了视觉识别任务的流程。它减少了对大量精细标注数据的依赖&a…

2_3.Linux系统中的日志管理

# 1.journald # 服务名称:systemd-journald.service journalctl 默认日志存放路径: /run/log (1) journalctl命令的用法 journalctl -n 3 ##日志的最新3条--since "2020-05-01 11:00:00" ##显示11:00后的日…

基于STM32的汽车防窒息系统

文章目录 基于STM32的汽车防窒息系统系统简介材料展示视频制作硬件连接原理图PCB实物图GSM模块使用GSM模块代码 SGP30模块SGP30模块代码 步进电机驱动步进电机代码 其他模块主逻辑代码 总结 基于STM32的汽车防窒息系统 系统简介 随着社会的发展目前汽车的流行,汽车大…

【技巧】如何解除Excel“打开密码”?

给Excel表格设置“打开密码”,可以保护表格不被他人随意打开,那如果后续不需要保护了,不想每次打开Excel都需要输密码,要怎么去除“打开密码”呢? 今天分享3个方法,最后一个方法记得收藏起来,以…

基于51单片机的智能报警系统Proteus仿真

地址:https://pan.baidu.com/s/10dhkyV5O629UpFHHV67LpQ 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectroni…

LVS、HAProxy

集群:将很多个机器组织到一起,作为一个整体对外提供服务。集群在扩展性、性能方面都可以做到很灵活。集群的分类:负载均衡集群:Load Balance。高可用集群:High Available。高性能集群:High Performance Com…

Python学习从0到1 day20 第二阶段 面向对象 ② 封装

缘分 朝生暮死犹如露水 —— 24.4.1 学习目标: 1.理解封装的概念 2.掌握私有成员的使用 一、面向对象三大特性: 面向对象编程,是许多编程语言都支持的一种编程思想 简单理解是:基于模板(类)去创建实体&…

枚举---算法

1、定义 枚举算法:也称之为穷举算法,这种算法就是在解决问题的时候去使用所有的方式去解决这个问题,会通过推理去考虑事件发生的每一种可能,最后推导出结果。优点:简单粗暴,它暴力的枚举所有可能&#xff…

Mysql故障和优化

一、MySQL故障 二、MySQL优化 1.硬件优化: 2.数据库设计与规划 1.提前估计数据量,使用什么存储引擎 2.数据库服务器专机专用,避免额外的服务可能导致的性能下降和不稳定性 3.增加多台服务器,以达到稳定、高效的效果。主从同步、…

风控系统:通过净值及盈亏开启和关闭自动交易

一、风控对交易员的好处 帮助交易员执行交易纪律并保护他们的交易资金。 纪律风控:对不符合交易纪律的交易执行风控,对交易纪律性差的交易员执行约束操作。净值风控:对满足条件的净值执行风控,防止交易员的账户净值过度下降。手数…

Memory Analyzer Tool使用教程

下载地址&#xff1a;https://eclipse.dev/mat/previousReleases.php 下载JDK8对应的MAT版本 使用jps查看pid jps 使用jmap生成heap dump文件 jmap -dump:formatb,live,filexxx.bin <pid> 使用MAT打开heap dump文件 查看GC Roots

【Linux入门】Linux简史

Linux 是什么&#xff1f;Linux 是一款叫做操作系统的软件。 操作系统这款软件有什么样的意义呢&#xff1f;简单来说&#xff0c;比如有顾客买了一台笔记本电脑&#xff0c;这台笔记本电脑由电脑硬件组成&#xff0c;在这堆硬件上一定搭载了一款操作系统。正因为操作系统存在&…

ssm013小型企业办公自动化系统的设计和开发+vue

小型企业办公自动化系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对小型企业办公信息管理混乱&am…

git删除某次commit的代码

这里写目录标题 1.问题背景2.问题拆解尝试&#xff1a;a.使用git reset --hard HEAD &#xff08;不行&#xff0c;局限性太大&#xff09;尝试&#xff1a;b.使用git rebase -i HEAD &#xff08;可以&#xff0c;但push -f不太友好&#xff09;尝试&#xff1a;c.使用git rev…

ETL工具-nifi干货系列 第六讲 处理器JoltTransformJSON

1、处理器作用 使用Jolt转换JSON数据为其他结构的JSON,成功的路由到success,失败的failure。处理JSON的实用程序不是基于流的&#xff0c;因此大型JSON文档转换可能会消耗大量内存。 Jolt&#xff1a;JSON 到 JSON 转换库&#xff0c;用 Java 编写&#xff0c;其中转换的 &qu…

LINUX笔记温习

目录 DAY1 DAY2 day3&#xff1a; day4 day5 day6 day7 day8 day9 day10 day11 day12 day13 day14 day15 20day DAY1 1、多层级文件夹创建要带-p&#xff1b; 2、创建多文件&#xff0c;要先到该目录下才能创建(第一个目录必须存在才能有效建立)&#xff1b; D…