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

目录

一、安装nginx

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

​第二步、安装依赖

[第三步:安装 nginx](#第三步:安装 nginx)

第四步:启动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地址/测试页面名称

相关推荐
vvw&18 分钟前
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
linux·运维·服务器·ubuntu·开源·github·graylog
大哥_ZH22 分钟前
Linux umami在国产麒麟系统安装网站统计工具(只能上国内网站的系统)
linux·服务器
科技互联人生26 分钟前
微服务常用的中间件及其用途
微服务·中间件·系统架构
o(╥﹏╥)38 分钟前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs
不爱学英文的码字机器1 小时前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_433618441 小时前
shell 编程(三)
linux·运维·服务器
鸭梨山大。1 小时前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
苹果醋31 小时前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
Tlzns2 小时前
Linux网络——UDP的运用
linux·网络·udp