当前位置: 首页 > article >正文

Ubuntu系统Springboot项目Nginx安装(编译安装方式)

1.下载

nginx官网下载

Index of /download/

2.解压

这里我下载的1.25.3版本,系统是ubuntu

解压

tar -zxvf nginx-1.25.3.tar.gz 

3.编译安装

安装前需要执行安装一些系统依赖

3.1安装PCRE库

ubuntu:执行以下命令
sudo apt-get install libpcre3 libpcre3-dev
centos:执行以下命令
sudo yum install pcre pcre-devel

不安装会报错:

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

 3.2 安装Zlib

官网:zlib Home Site

将tar包上传服务器,上传路径自定义

 3.2.1 解压

tar -zxvf zlib-1.3.tar.gz 

 3.2.2 安装

进入解压目录zlib-1.3

cd zlib-1.3

执行三条安装命令

./configure
make
make install

不安装zlib就安装nginx会报错:

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.

3.3 安装SSL模组依赖

一般nginx都需要ssl模组,此版本nginx不安装ssl组件不会报错,之前版本可能会报错

ubuntu安装

 sudo apt-get install libssl-dev

centos安装

sudo yum install openssl openssl-devel

3.4 安装Nginx

再次进入nginx解压目录安装nginx,--prefix命令是我指定的安装目录,你们运行的时候自己指定一下nginx的安装目录

./configure --prefix=/home/software/nginx/install --with-http_ssl_module

 安装命令

make && make install

4 配置Nginx开机自启

在目录/lib/systemd/system创建文件nginx.service

vim /lib/systemd/system/nginx.service

 注意修改/home/software/nginx/install/sbin/路径为你安装nginx的路径

ExecStart=/home/software/nginx/install/sbin/nginx
ExecReload=/home/software/nginx/install/sbin/nginx reload
ExecStop=/home/software/nginx/install/sbin/nginx quit

 配置文件内容,注意修改nignx命令位置

# Stop dance for nginx
# =======================
#
# ExecStop sends SIGSTOP (graceful stop) to the nginx process.
# If, after 5s (--retry QUIT/5) nginx is still running, systemd takes control
# and sends SIGTERM (fast shutdown) to the main process.
# After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends
# SIGKILL to all the remaining processes in the process group (KillMode=mixed).
#
# nginx signals reference doc:
# http://nginx.org/en/docs/control.html
#
[Unit]
Description=A high performance web server and a reverse proxy server
Documentation=man:nginx(8)
After=network.target

[Service]
Type=forking 
ExecStart=/home/software/nginx/install/sbin/nginx
ExecReload=/home/software/nginx/install/sbin/nginx reload
ExecStop=/home/software/nginx/install/sbin/nginx quit
PrivateTmp=true 
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

修改完成后

4.1 启动nginx服务

systemctl enable nginx.service

4.2 重启nginx服务

systemctl restart nginx

4.3 查看Nginx状态

systemctl status nginx

5 Nginx配置


#user  nobody;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen [::]:80 default_server;
        server_name _;
        return 301 https://$host$request_uri;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    server {
        listen       443 ssl;
        server_name  localhost;
        #修改你的证书存放位置
        ssl_certificate      /home/software/nginx/install/cert/anakkix.cn_bundle.pem;
        ssl_certificate_key  /home/software/nginx/install/cert/anakkix.cn.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_set_header Host $host;
            proxy_pass      http://localhost:8080; # 当你访问80端口可以实现向8080端口转发
            root   html;
            index  index.html index.htm;
        }
    }
}


http://www.kler.cn/a/149427.html

相关文章:

  • 响应式网页设计--html
  • odoo 17 后端路由接口认证自定义
  • 【go从零单排】JSON序列化和反序列化
  • 性能测试|JMeter接口与性能测试项目
  • ArkTs简单入门案例:简单的图片切换应用界面
  • 「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)
  • echarts点击事件
  • vue2+el-select实现分页加载更多功能
  • 插入或更新学生信息的 SQL 语句
  • 【问题解决!】OSError: [WinError 1455] 页面文件太小,无法完成操作。Error loading “c:\Anaconda3\lib
  • 在Windows WSL (Linux的Windows子系统)上运行的Ubuntu如何更改主机名
  • 5W2H分析法
  • git分支拉取时,提示冲突
  • SAP_ABAP_基础编程_DESCRIBE FIELD_获取数据对象的属性
  • 2.ORB-SLAM3中如何从二进制文件中加载多地图、关键帧、地图点等数据结构
  • Leetcode 1727. 具有重排的最大子矩阵
  • RPC之GRPC:什么是GRPC、GRPC的优缺点、GRPC使用场景
  • web:NewsCenter
  • 芯片设计中的DFX
  • skywalking告警UI界面有告警信息,webhook接口没有回调,400错误
  • 【100个Cocos实例】完蛋,你看我在刮刮乐中刮到了什么?
  • 【Java基础】-- Java包(package)命名规范
  • 选择更灵活的设计工具:SOLIDWORKS 软件网络版与单机版的比较
  • [C++][原创]VSCode C++怎么让运行的时候弹出cmd窗口,而不是在VSCode调试输出
  • Rust之构建命令行程序(一):接受命令行参数
  • 算法之插入排序及希尔排序(C语言版)