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

相关推荐
江上清风山间明月12 小时前
Nginx基于域名区分的多网站部署
运维·nginx·部署·php·多个网站
随风,奔跑12 小时前
Nginx
服务器·后端·nginx·web
高翔·权衡之境14 小时前
缓存一致性——多核系统的默契之约
驱动开发·嵌入式硬件·安全·缓存·系统安全·信息与通信
hjhcos15 小时前
【pgsql】Ubuntu备份和清理数据库postgresql
数据库·ubuntu·postgresql
强壮的小白菜16 小时前
Nginx403
nginx
骑着骆驼写程序18 小时前
Ubuntu上部署前端项目报500错误
linux·运维·ubuntu
直奔標竿18 小时前
MySQL与Redis数据一致性实战方案(避坑指南)
java·数据库·spring boot·redis·mysql·spring·缓存
绿豆人19 小时前
Cache缓存项目学习4
windows·学习·缓存
angushine19 小时前
ffmpeg+nginx搭建HLS 推流
运维·nginx·ffmpeg
小小的木头人20 小时前
Ubuntu 26.04 换阿里云镜像源
linux·ubuntu·阿里云