【Linux服务器Java环境搭建】011在linux中安装Nginx,以及停止或启动Nginx服务

news2024/12/25 9:29:01

 系列文章目录

【Linux服务器Java环境搭建】


前言

又到了周五晚上了,最近工作上有些忙,忙于一个需求频繁变更的项目,都快吐血了,懂得都懂,哈哈,正好有时间了,继续写系列【Linux服务器Java环境搭建】吧,争取这两天把整个系列都写完,加油! 那就继续吧,今天主要是安装和配置Nginx。


一、Nginx是什么?

Nginx(发音类似于“engine-x”)是一款开源的、高性能的HTTP服务器和反向代理服务器,同时也是一个IMAP/POP3/SMTP邮件代理服务器。它最初由俄罗斯的程序员伊戈尔·赛索耶夫(Igor Sysoev)在2004年发布,旨在解决C10K问题,即如何高效处理超过一万个并发连接的问题。

Nginx广泛应用于各种互联网服务,包括Web服务器、内容分发网络(CDN)、负载均衡器和API网关等。它不仅在高流量网站和应用中得到了广泛应用,而且也是许多微服务架构和云原生应用的首选组件。

  • 高性能和高并发:Nginx以其高效的事件驱动架构著称,可以处理大量的并发连接,远高于传统的Apache HTTP服务器。

  • 低资源消耗:由于其高效的架构,Nginx在处理大量请求时消耗的内存和CPU资源非常少。

  • 负载均衡:Nginx可以作为反向代理服务器,将客户端的请求分发到多个后端服务器,以实现负载均衡,提高应用的可用性和稳定性。

  • 静态文件服务:Nginx在提供静态文件(如HTML、图像、视频等)方面表现出色,能够快速、高效地处理这些请求。

  • 反向代理:Nginx可以作为反向代理服务器,将客户端请求转发到后端的应用服务器,并处理来自后端服务器的响应。

  • 模块化设计:Nginx采用模块化设计,允许用户根据需求加载或卸载不同的模块,以实现扩展功能,例如SSL/TLS、身份验证、访问控制等。

  • 简单的配置文件:Nginx的配置文件使用简单而直观的语法,便于配置和管理。

二、下载及安装

1.nginx下载

下载地址:nginx: download

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.预先安装所需依赖

yum -y install pcre-devel
yum -y install openssl openssl-devel

在安装Nginx之前,先安装以下软件包是因为Nginx的某些功能和模块需要这些包中的文件和库来支持和编译。

  • pcre-devel: PCRE(Perl Compatible Regular Expressions)软件包提供了正则表达式的支持。Nginx使用PCRE来支持HTTP模块中的正则表达式匹配功能。

  • openssl 和 openssl-devel: OpenSSL是一个用于加密和安全通信的库。Nginx可以使用OpenSSL来支持HTTPS和SSL/TLS协议,openssl-devel则提供了开发过程中所需的文件和头文件,以便Nginx可以与OpenSSL进行集成。

安装这些软件包是为了确保在编译Nginx时拥有必要的依赖项,从而支持Nginx的各种功能和模块,特别是与HTTPS、压缩和正则表达式相关的功能。

3.nginx安装

A.将安装包通过xftp上传到服务器目录/root/lzh/

B.在目录 /usr/local/ 下创建 nginx ⽂件夹并进⼊

[root@lzh-2024 local]# cd /usr/local/
[root@lzh-2024 local]# mkdir nginx
[root@lzh-2024 local]# cd nginx/
[root@lzh-2024 nginx]# 

C.将刚下下载的Nginx 安装包解压到 /usr/local/nginx 中

[root@lzh-2024 nginx]# tar zxvf /lzh/nginx-1.26.1.tar.gz -C ./

解压完之后, /usr/local/nginx ⽬录中会出现⼀个 nginx-1.26.1的⽬录

4.设置并安装nginx

A.设置

[root@lzh-2024 nginx]# cd nginx-1.26.1/
[root@lzh-2024 nginx-1.26.1]# ./configure 

B.安装

[root@lzh-2024 nginx-1.26.1]# make && make install

安装完成后,Nginx的可执⾏⽂件位置位于

/usr/local/nginx/sbin/nginx

三、启动或停止Nginx

A.启动命令

[root@lzh-2024 sbin]# /usr/local/nginx/sbin/nginx 

B.停止命令(nginx后一定要加空格)

[root@lzh-2024 sbin]# /usr/local/nginx/sbin/nginx -s stop

C.重启命令(nginx后一定要加空格)

[root@lzh-2024 sbin]# /usr/local/nginx/sbin/nginx  -s reload

D.配置文件位置

[root@lzh-2024 sbin]# cat /usr/local/nginx/conf/nginx.conf

如下为整个配置内容

#user  nobody;
worker_processes  1;

#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;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

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

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

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

四、 验证

在浏览器中输入服务器IP地址(端口默认为80,可以省略),如果浏览器看到如下界面,安装成功


五、总结

至此,Nginx就安装完成了,其实还是挺简单的是吧,今天只是简单安装以及启动停止Nginx,在系列【Linux服务器Java环境搭建】的后续部分,将会结合实际项目对站点的发布以及部署进行讲解,到时候会详细讲解Nginx的具体配置,敬请期待!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我去,怎么http全变https了

项目场景: 在公司做的一个某地可视化项目。 部署采用的是前后端分离部署,图片等静态资源请求一台minio服务器。 项目平台用的是http 图片资源的服务器用的是https 问题描述 在以https请求图片资源时,图片请求成功报200。 【现象1】: 继图…

设计模式11-原型模式

设计模式11-原型模式 写在前面对象创建模式典型模式原型模式动机结构代码推导应用特点要点总结 原型模式与工厂方法模式对比工厂方法模式原型模式什么时候用什么模式 写在前面 对象创建模式 通过对象创建模式绕开动态内存分配来避免创建过程中所导致的耦合过紧的问题。从而支…

【devops】gitlab 实现cicd 实践

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

AWS服务器购买:如何选择合适的AWS云服务器

在当今数字化时代,云计算已成为企业IT基础设施的重要组成部分。作为全球领先的云服务提供商之一,亚马逊网络服务(AWS)提供了丰富多样的云服务器选项。然而,面对众多选择,如何为您的业务需求挑选最合适的AWS云服务器呢?我们结合九河云的分析来给你解答。 1. 明确业务需求 首先…

前端Vue项目中腾讯地图SDK集成:经纬度与地址信息解析的实践

在前端开发中,我们经常需要将经纬度信息转化为具体的地址信息,这对于定位、地图展示等功能至关重要。Vue作为现代前端框架的代表,其组件化开发的特性使得我们能够更高效地实现这一功能。本文将介绍如何在Vue项目中集成腾讯地图SDK&#xff0c…

vue3 + antd vue 纯前端 基于xlsx 实现导入excel 转 json,将json数据转换XLSX并下载(下载模版)

一、导入 0、关键代码 // 安装插件 npm i xlsx/yarn add xlsx // 导入xlsx import * as XLSX from xlsx; 点击提交的时候才整理数据。上传的时候文件保存在 state.form.file[0] 中的 // 定义字段映射关系 const fieldMap {sheet2json: {技能名称: skill_name,技能等级: …

【中项】系统集成项目管理工程师-第2章 信息技术发展-2.2新一代信息技术及应用-2.2.1物联网与2.2.2云计算

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

iPhone手机上备忘录怎么设置字数显示

在日常生活和工作中,我经常会使用iPhone的备忘录功能来记录一些重要的想法、待办事项或临时笔记。备忘录的便捷性让我可以随时捕捉灵感,但有时候,我也会苦恼于不知道自己记录了多少内容,尤其是在需要控制字数的时候。 想象一下&a…

mysql的B+树索引结构介绍

一、B树 特性: 所有的叶子结点中包含了全部关键字的信息,非叶子节点只存储键值信息,及指向含有这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大的顺序链接,所有的非终端结点可以看成是索引部分&#xff0…

达梦数据库 MPP集群搭建(带主备)

MPP集群搭建(带主备) 1.背景2.操作内容和要求3. 具体步骤3.1 搭建过程3.1.1 集群搭建3.1.2 准备工作3.1.2.1 初始化3.1.2.2 备份数据库 3.1.3 配置主库EP013.1.3.1 配置dm.ini3.1.3.2 配置dmmal.ini3.1.3.3 配置dmarch.ini3.1.3.4 配置dmmpp.ctl3.1.3.5 …

Linux NFS服务搭建及使用

一、NFS 服务器介绍 nfs ( Network File System )即网络文件系统,其基于 UDP/IP使用 nfs 能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。 二、NFS 服务器的特点 …

【Java】用队列实现栈 力扣

文章目录 题目链接题目描述思路代码 题目链接 225.用队列实现栈 题目描述 思路 一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外) 重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。 代码 class MyStack {Q…

C++那些事之依赖注入

C那些事之依赖注入 最近星球里面有个小伙伴让更新一下依赖注入,于是写出了这篇文章,来从实际的例子讲解,本文会讲解一些原理与实现,完整的实现代码懒人版放在星球中,我们开始正文。 大纲: 直接依赖接口依赖…

什么是长效住宅IP?

长效住宅IP的定义 长效住宅IP,简而言之,是指长期稳定、非动态更换的住宅网络IP地址。这类IP地址通常由互联网服务提供商(ISP)分配给居民家庭用户,用于上网、网络通信等日常网络活动。与传统的动态IP相比,长…

​前端Vue组件技术实践:打造自定义精美悬浮菜单按钮组件

随着前端技术的迅猛发展,复杂的应用场景和不断迭代的产品需求使得开发的复杂度日益提升。传统的整体式开发方式已经难以满足现代前端应用的灵活性和可维护性需求。在这样的背景下,组件化开发逐渐崭露头角,成为解决复杂前端应用问题的有效手段…

算法第十一天:leetcode707.设计链表

一、设计链表的题目描述与链接 707.设计链表的链接如下表所示,您可直接复制下面网址进入力扣学习,在观看下面的内容之前一定要先做一遍哦,这样才能印象深刻! https://leetcode.cn/problems/design-linked-list/https://leetcode.…

Java_Docker

镜像和容器: 镜像仓库: 存储和管理镜像的平台,镜像仓库中有非常多常用软件的镜像,Docker官方维护了一个公共仓库​​​​​​:​Docker Hub 部署MySQL: docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shang…

C/C++的堆栈内存分配详解

在C/C编程中,内存管理是至关重要的一个方面。理解内存的分配方式有助于编写高效、可靠的程序,C/C主要使用两种内存分配方式:堆(heap)和栈(stack)。这两者在管理方式、性能和使用场景上都有显著区…

RDMA软件架构

RDMA 的软件架构按层次可分成两部分,即 rdma-core 和内核 RDMA 子系统,分别运行在 Linux 系统中的用户态和内核态。整个软件架构适用于所有类型的 RDMA 网卡,不管网卡执行了哪种 RDMA 协议(InfiniBand/RoCE/ iWARP)。 …

[SUCTF 2019]EasySQL1

这是一个简单的SQL注入题,但是因为我的SQL基础约等于0,所以做起来很难。 首先试试引号是否被过滤 可以看到单引号、双引号都被过滤了,试试其他的盲注都不行,基本上可以确定不能用这种方法。 在测试的过程中发现,输入…