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,一经查实,立即删除!

相关文章

独孤思维:自己瞎琢磨副业,根本赚不到钱

01 有人说,干嘛付费学副业,自己摸索不就行了? 我想起之前有个博主说的一句话,我特别赞同,正好可以回答这个问题。 你做副业,给自己设的目标,就像去往自己理想的山峰。 你不付费,…

一文入门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、简介 数据管家是帮用户进行…

【C语言】字符串,补充:单引号和双引号, const和define, 常量指针和指针常量

【C语言】字符串:一串数据类型为字符(char)的数组(字符数组),结束符是\0。 一个字符占一个字节的内存,结束符\0也占一个字节的内存。 结束符 \0 :缩写NUL,空字符。表示字符串的结束。 NULL&…

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 插件是有版本要求的,相关要…

汇编——SSE对齐(一. 未对齐情况)

SIMD是(Single Instrument Multi Data),MMX实现了SIMD;SSE是(Streaming SIMD Extension),它取代了MMX;后来AVX(Advanced Vector Extension,高级向量扩展)对SSE进行了扩展…

acwing算法提高之图论--floyd算法及其扩展应用

目录 1 介绍2 训练 1 介绍 本专题介绍使用floyd算法求解的题目。 使用floyd算法,可以求解如下问题: 最短路。传递闭包。找图中的距离总和最小的环路。求恰好经过k条边的最短路。 floyd算法的原理讲解:基于动态规划。 状态表示d[k,i,j]&a…

nginx配置代理kibana

一、编辑kibana配置文件,修改server.basePath 配置文件中这行默认是注释掉的,我们取消注释并修改保存 server.basePath: "/elk" 二、重启kibana,root启动记得跟allow参数 nohup ./kibana --allow-root & 三、配置nginx代理…

Vision-Language Models for Vision Tasks: A Survey

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

Python selenium 使用Chrome 禁止弹出保存密码弹窗

chrome_optionwebdriver.ChromeOptions()#禁用“保存密码”弹出窗口 chrome_option.add_experimental_option("prefs",{"credentials_enable_service":False,"profile.password_manager_enabled":False})driverwebdriver.Chrome(optionschrome_o…

小组分享内容

目录 1.网络爬虫的作用(人话): 2.使用的工具 3.不使用程序进行网页信息的获取的操作步骤 4.如何使用程序来进行上述操作 1.打开浏览器 2.输入网址 3.发送请求 4.获取响应 5.判断响应是否成功 6.获取响应里需要的内容 7.记得最后关…

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的汽车防窒息系统 系统简介 随着社会的发展目前汽车的流行,汽车大…

GPT带我学-设计模式11-组合模式

设计模式类型 结构型设计模式 使用场景 将对象组合成树状结构来表现"部分-整体"的层次结构。这种模式能够使得客户端对单个对象和组合对象的使用具有一致性。这句话太抽象了,拿一个实际的网站菜单树例子来说。 例子:网页菜单树 一个网站的…

C++经典面试题目(十八)

1、请解释虚函数表的概念,并说明其在多态中的应用。 虚函数表(Vtable)是用于实现多态的一种机制,它是一个存储虚函数地址的表。每个含有虚函数的类都会有一个对应的虚函数表,其中存放着该类的虚函数的地址。当对象被创…

【CSS】伪元素

伪元素 常见的伪元素 ::first-line::first-letter::before 在元素第一个子元素前增加内容::after 在元素最后一个子元素后增加内容 为了区分伪类和伪元素,建议伪元素都使用2个冒号::first-line可以针对首行文本设置属性::first-letter可以针首字母设置属性::before…

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

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

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

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

源码|并发一枝花之CopyOnWriteArrayList

CopyOnWriteArrayList的设计思想非常简单,但在设计层面有一些小问题需要注意。 JDK版本:oracle java 1.8.0_102 本来不想写的,但是github上CopyOnWriteArrayList的code results也有165k,为了流量还是写一写吧。 实现 看两个方法你…