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查看目录文件,会看一大堆依赖:

紧接着通过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:2
   server 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

相关推荐
门前云梦2 小时前
VirtualBox中安装并运行ubuntu-24.04.2-desktop虚拟机
linux·ubuntu·虚拟机·virtualbox
又逢乱世2 小时前
Ubuntu 安装 Nginx
运维·nginx
言之。3 小时前
基于 Ubuntu 24.04 部署 WebDAV
linux·运维·ubuntu
AllenO.o3 小时前
Redis五种数据结构详解
java·数据结构·数据库·redis·缓存
前进的程序员4 小时前
ARM 芯片上移植 Ubuntu 操作系统详细步骤
linux·arm开发·ubuntu
Caron_xcb5 小时前
大数据基础——Ubuntu 安装
大数据·linux·ubuntu
酒吧舞男5 小时前
Ubuntu20.04安装使用ROS-PlotJuggler
ubuntu
门前云梦8 小时前
解决VirtualBox中虚拟机(ubuntu)与主机(windows)之间互相复制粘贴(文本)
linux·ubuntu
对 酒 当 歌 人 生 几 何8 小时前
sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
linux·windows·ubuntu
matrixlzp8 小时前
Nginx yum 安装
nginx