Ubuntu 22.04.1 LTS 编译安装 nginx-1.22.1,Nginx动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化

1.Ubuntu 22.04.1 LTS 编译安装 nginx-1.22.1

1.1安装依赖

sudo apt install libgd-dev

1.2下载nginx

wget http://nginx.org/download/nginx-1.22.1.tar.gz

1.3解压nginx

tar -zvxf nginx-1.22.1.tar.gz

1.4编译安装

cd nginx-1.22.1

编译并指定安装位置,执行安装之后会创建指定文件夹/www/env/nginx

2.Nginx动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化

2.1关闭防火墙,安装依赖关系包

 

2.2下载Nginx的安装包,可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包:

[root@localhost]# wget https://nginx.org/download/nginx-1.21.6.tar.gz

❸解压Nginx的压缩包:

[root@localhost]# tar -xvzf nginx-1.21.6.tar.gz

❹下载并安装Nginx所需的依赖库和包:

[root@localhost]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
复制代码

执行完成后,然后ls查看目录文件,会看一大堆依赖:

Nginx-依赖包

紧接着通过rpm命令依次将依赖包一个个构建,或者通过如下指令一键安装所有依赖包:

[root@localhost]# rpm -ivh --nodeps *.rpm
复制代码

❺进入解压后的nginx目录,然后执行Nginx的配置脚本,为后续的安装提前配置好环境,默认位于/usr/local/nginx/目录下(可自定义目录):

[root@localhost]# cd nginx-1.21.6
[root@localhost]# ./configure --prefix=/soft/nginx/
./configure --prefix=/home/centos/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module

❻编译并安装Nginx

[root@localhost]# make && make install
​
yum install epel-release
​
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
​
yum --enablerepo=remi install php74-php php56-php-devel php56-php-fpm php56-php-gd php56-php-xml php56-php-sockets php56-php-session php56-php-snmp php56-php-mysql
www.conf
user
group 
#运行并查看版本
php56 -v
#重启命令php-fpm
systemctl restart php56-php-fpm
#添加自动启动
systemctl enable php56-php-fpm
#查看php7.4的安装路径
whereis php
#链接php文件
ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php

❼最后回到前面的/soft/nginx/目录,输入ls即可看见安装nginx完成后生成的文件。

❽修改安装后生成的conf目录下的nginx.conf配置文件:

[root@localhost]# vi conf/nginx.conf修改端口号:listen    80;修改IP地址:server_name  你当前机器的本地IP(线上配置域名);

❾制定配置文件并启动Nginx

[root@localhost]# sbin/nginx -c conf/nginx.conf
[root@localhost]# ps aux | grep nginx

Nginx其他操作命令:

sbin/nginx -t -c conf/nginx.conf # 检测配置文件是否正常
sbin/nginx -s reload -c conf/nginx.conf # 修改配置后平滑重启
sbin/nginx -s quit # 优雅关闭Nginx,会在执行完当前的任务后再退出
sbin/nginx -s stop # 强制终止Nginx,不管当前是否有任务在执行

❿开放80端口,并更新防火墙:

[root@localhost]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost]# firewall-cmd --reload
[root@localhost]# firewall-cmd --zone=public --list-ports

⓫在Windows/Mac的浏览器中,直接输入刚刚配置的IP地址访问Nginx

三、Nginx反向代理-负载均衡

以看出其逻辑并不复杂,仅是从响应中获取了port输出。

OK~,前提工作准备就绪后,再简单修改一下nginx.conf的配置即可:

upstream nginx_boot{# 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2server 192.168.0.000:8080 weight=100 max_fails=2 fail_timeout=30s; server 192.168.0.000:8090 weight=200 max_fails=2 fail_timeout=30s;# 这里的IP请配置成你WEB服务所在的机器IP
}
​
server {location / {root   html;# 配置一下index的地址,最后加上index.ftl。index  index.html index.htm index.jsp index.ftl;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 请求交给名为nginx_boot的upstream上proxy_pass http://nginx_boot;}
}

至此,所有的前提工作准备就绪,紧接着再启动Nginx,然后再启动两个web服务,第一个WEB服务启动时,在application.properties配置文件中,将端口号改为8080,第二个WEB服务启动时,将其端口号改为8090

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

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

相关文章

###C语言程序设计-----C语言学习(7)#(调试篇)

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 一. 程序调试 1.程序调试介绍: 程序调试是软件开发过程中非常重…

怎么把word文档转换成pdf?几种高效转换方法了解一下

怎么把word文档转换成pdf?在当今这个时代,PDF已经成为一种通用的文件格式,广泛应用于各种场景。将Word文档转换为PDF,可以确保文档的格式、字体、图片等元素在各种设备和软件上保持一致。那么,如何将Word文档转换为PDF…

我用Rust开发Rocketmq name server

我是蚂蚁背大象(Apache EventMesh PMC&Committer),文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm,文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com 1. Rocketmq-rust namesrv概述 经过一个多月的开发,终…

<网络安全>《9 入侵防御系统IPS》

1 概念 IPS( Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的补充。 入侵预防系统(Intrusio…

docker镜像详解

文章目录 一、什么是docker镜像 二、为什么需要镜像 三、镜像相关命令详解 3、1 命令清单 3、2 命令详解 四、镜像实战 4、1 镜像操作案例 4、2 离线迁移镜像 4、3 镜像存储的压缩与共享 🙋‍♂️ 作者:Ggggggtm 🙋‍♂️ 👀 专栏…

如何改变音频的频率教程

这是一篇教你如何通过一些工具改变音频频率的教学文章。全程所用的软件都是免费的。 本文用到的软件: AIX智能下载器 用于抓取任何视频网站资源的插件 格式工厂 将mp4转化为mp3 Audacity 改变音频频率的软件 如果你已备好mp3或其他格式的音频,那么直接看…

时间戳的转换和应用

一、效果图 时间之外 时间之内 二、js代码 tim() //获取当前时间 function tim(){let end sessionStorage.getItem(jieshu); // 获取结束日期并转换为日期对象,时分秒日期let start sessionStorage.getItem(kaishi); // 获取开始日期并转换为日期对象&#xff…

最新GPT4.0使用教程,AI绘画-Midjourney绘画,GPT语音对话使用,DALL-E3文生图+思维导图一站式解决

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

多伦多大学这门课85%挂了,均分29,因为学生用ChatGPT做作业!

加拿大多伦多大学作为世界知名学府,其学术水平和教育质量一直备受赞誉。然而,这也意味着它的考试难度相对较高,要求学生具备扎实的知识基础和优秀的学术能力。 就在在刚刚落幕的这个学期,多伦多大学的一门课程成为了热议的焦点。…

Python 二维码开源库之segno使用详解

概要 Python Segno 是一个用于生成二维码的开源库,它提供了丰富的功能和灵活的选项,可以帮助开发者轻松地生成各种类型的二维码。本文将介绍如何使用 Python Segno 创建二维码,并深入探讨其功能和用法。 什么是 Python Segno? P…

如何过有「松弛感」的生活?

最近网上有一个词很流行,叫做「松弛感」。最早的出处似乎是这么一条微博:博主见到一家人出门旅游,行李全部被退回,空手抵达目的地,竟然没人紧张和生气,而是重新安排好行李后继续开心聊天,全程非…

【linux】复制cp和硬连接、软连接的区别? innode 关系?

1.命令: cp -r [源文件或目录] [目的目录] #复制 ln -s [被链接的文件] [链接的目录/名称] #软连接 ln [被链接的文件] [链接的目录/名称] #硬连接 注:cp -r 会把所有source当作普通文件(regular文件)&#x…