首页 > 系统相关 >【Linux】循序渐进学运维-服务篇-LNMP环境部署

【Linux】循序渐进学运维-服务篇-LNMP环境部署

时间:2022-12-07 23:25:10浏览次数:59  
标签:学运 index LNMP nginx gaosh Linux php root CGI

文章目录

前言
一. LNMP的介绍
二. 什么是Fast-CGI
三. 部署实战

  1. 安装php和mysql
  2. nginx和php的结合
    a. 编译nginx
    b. 配置nginx与php的结合
    c. 重启nginx让配置生效
    d. 配置index.php测试
    总结

前言

之前我们学习了架构LAMP的搭建,编译和yum的方式都有学习过,今天我们来探讨下LNMP的部署,只是把apache换成了nginx,所以还算比较简单

一. LNMP的介绍

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

  • Linux: 我们一般用的比较多的是redhat,centos, ubuntu
  • Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
  • Mysql是一个小型关系型数据库管理系统。
  • ​ PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
    这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

二. 什么是Fast-CGI

Fast-CGI是一个可伸缩的、高速的在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持Fast-CGI,包括Apache、Nginx和lighttpd等。同时,Fast-CGI也被许多脚本语言支持,其中就有PHP。

Fast-CGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后将结果返回给HTTP服务器。这在处理高并发访问时几乎是不可用的。另外传统的CGI接口方式安全性也很差,现在已经很少使用了
  
  FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给Fast-CGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。

三. 部署实战

1. 安装php和mysql

[root@gaosh-1 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@gaosh-1 ~]# 

 

[root@gaosh-1 ~]# yum install mysql mysql-server php php-mysql php-fpm

 

2. nginx和php的结合

a. 编译nginx

关于编译的内容,在之前的文章里有写过,详细的内容可以参考:
【Linux】循序渐进学运维-服务篇-nginx入门

yum -y install gcc gcc-c++ pcre-devel openssl-devel wget

 

[root@gaosh-1 ~]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[root@gaosh-1 ~]# tar xf nginx-1.12.2.tar.gz 
[root@gaosh-1 ~]# cd nginx-1.12.2
[root@gaosh-1 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx
[root@gaosh-1 nginx-1.12.2]# make && make install

 

[root@gaosh-1 nginx-1.12.2]# ln -sv /usr/local/nginx/sbin/nginx /usr/bin/nginx
"/usr/bin/nginx" -> "/usr/local/nginx/sbin/nginx"
[root@gaosh-1 nginx-1.12.2]# nginx

 

b. 配置nginx与php的结合

上图图片的内容文字版:


        server {
        listen       80;
        server_name  localhost;

        location / {
            root   /www/zmgaosh;
            index index.php  index.html index.htm;
        }


        location ~ \.php$ {
               root          /www/zmgaosh;
               fastcgi_pass   127.0.0.1:9000;
               fastcgi_index  index.php;
               fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
               include       fastcgi_params;
        }

 

c. 重启nginx让配置生效

[root@gaosh-1 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@gaosh-1 ~]# nginx

[root@gaosh-1 ~]# /etc/init.d/php-fpm start #启动php-fpm
正在启动 php-fpm: [确定]
[root@gaosh-1 ~]#

d. 配置index.php测试

[root@gaosh-1 ~]# mkdir -p  /www/zmgaosh
[root@gaosh-1 ~]# vim /www/zmgaosh/index.php
[root@gaosh-1 ~]# cat !$
cat /www/zmgaosh/index.php
<?php
phpinfo();
?>

 

总结

以上就是LNMP架构部署的所有内容,其实相对于apache来讲更容易一些。

标签:学运,index,LNMP,nginx,gaosh,Linux,php,root,CGI
From: https://www.cnblogs.com/Alwayslearn/p/16964876.html

相关文章

  • (转)【Linux】Centos7 的 Systemctl 与 创建系统服务 (shell脚本)
    原文:https://blog.csdn.net/qq_42862247/article/details/127260241Systemctlsystemctl命令#启动systemctlstartNAME.service#停止systemctlstopNAME.service#重......
  • linux控制显示器的亮度
    我使用的manjaroyay-Sredshift-b白天:晚上要应用的屏幕亮度(在0.1和1.0之间)-c文件从指定的配置文件加载设置-gR:G:B要应用的其他伽马校正-l纬度:朗您当前......
  • 用xcb在linux创建一个无标题窗口
    //从我的新浪博客搬过来最近,在ubuntu系统开发一个小软件,需要创建一个无标题的窗口。我使用的是xcb库(它对Xlib进行了封装),可惜一直没有找到方便的接口。于是搜索了一番之后,......
  • Linux 磁盘管理
    Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df(英文全称:diskfree):列出文件系统的整体磁盘使用量du(英文全称:diskused......
  • Linux getfacl 命令
    Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与......
  • linux 虚拟机本地连接与外网连接设置
    linux虚拟机本地连接与外网连接设置版本标识V1编制单位LiBin编制日期2022年12月7日第一步:设置自己本地电脑网络控制面板--网络和Intern......
  • Linux基础指令
    Linux基础指令本节博客的目的是总结Linux的基础指令,Linux更深层的学习需要后期通过实践来逐步加深。VI&VIM编辑器1)拷贝当前行yy,拷贝当前行向下的5行5yy,并粘贴......
  • 除了Ubuntu以外的Linux系统可以安装Tensorflow/Pytorch的GPU版本吗???
    废话:平时没事有用到的Linux系统有Centos/Redhat/Ubuntu/UOS/Deepin,其中Ubuntu系统主要是用来工作生产的,UOS就是看看国家队的进展如何,Deepin就是看看民营企业的力量,同时也......
  • linux 中 shell 记录程序运行时间
      001、[root@PC1test]#start=`date+%s`##从1970年1月1日00:00:00UTC到目前为止的秒数(时间戳)[root@PC1test]#echo$start1670412402[root@......
  • linux 中gz文件的压缩、解压保留源文件
     001、压缩保留源文件[root@PC1test]#lsa.txt[root@PC1test]#gzip-ca.txt>a.txt.gz##压缩并保留源文件[root@PC1test]#lsa.txta.txt.gz......