Nginx1.21.1 安装部署_nginx/1.21.1-程序员宅基地

技术标签: nginx  运维  linux  

一、前提条件:openssl、pcre已经安装

1、查看openssl是否安装

openssl version -a
在这里插入图片描述

2、查看是否安装pcre,安装会显示版本, 没安装什么都不显示

rpm -qa pcre
在这里插入图片描述

二、Nginx安装

1、下载nginx安装包

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

2、安装部署

1)解压

[root@localhost nginx]# tar zxvf  nginx-1.21.1.tar.gz

2)编译

 [root@localhost nginx-1.21.1]# ./configure --prefix=/home/httpd/nginx1211 --with-http_stub_status_module --with-http_ssl_module --with-pcre

3)安装

  [root@localhost nginx-1.21.1]#make
  [root@localhost nginx-1.21.1]#make install

或者

 [root@localhost nginx-1.21.1]#make && make install

3、查看安装成功后版本信息

[root@localhost nginx]#  ./usr/local/nginx/sbin/nginx  -v
nginx version: nginx/1.21.1

四、配置文件

1、配置nginx.conf文件(默认端口为80)

vi /usr/local/nginx/conf/nginx.conf

#Nginx用户及组:用户 组。window下不指定  ,以实际为准
#user nobody;
user  ruready ruready;
#工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。
worker_processes  2;   
#错误日志:存放路径。
error_log  /usr/local/nginx/logs/error.log crit; # 日志位置和日志级别
#pid(进程标识符):存放路径
pid        /usr/local/nginx/logs/nginx.pid;

#一个进程能打开的文件描述符最大值,理论上该值因该是最多能打开的文件数除以进程数。
#但是由于nginx负载并不是完全均衡的,所以这个值最好等于最多能打开的文件数。
#LINUX系统可以执行 sysctl -a | grep fs.file 可以看到linux文件描述符。
worker_rlimit_nofile 65535;
events {
#使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
use epoll;

#单个进程最大连接数(最大连接数=连接数*进程数)
worker_connections  65535;

#客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小来设置,
#一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。
#client_header_buffer_size 4k;
}
 
http {
#设定mime类型,类型由mime.type文件定义
    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"';

#用了log_format指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径
#记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
    access_log  /usr/local/nginx/logs/access.log  main;
 
#开启文件传输,一般应用都应设置为on;若是有下载的应用,则可以设置成off来平衡网络I/O和磁盘的I/O来降低系统负载
sendfile        on;

#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。

#tcp_nodelay off 会增加通信的延时,但是会提高带宽利用率。在高延时、数据量大的通信场景中应该会有不错的效果
#tcp_nodelay on,会增加小包的数量,但是可以提高响应速度。在及时性高的通信场景中应该会有不错的效果 
tcp_nopush    on;
     
#长连接超时时间,单位是秒
    keepalive_timeout  60;
     #gzip模块设置,使用 gzip 压缩可以降低网站带宽消耗,同时提升访问速度。
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
 
#负载均衡
#max_fails为允许请求失败的次数,默认为1
#weight为轮询权重,根据不同的权重分配可以用来平衡服务器的访问率。
# upstream myServer{
#   server  192.168.247.129:8080 max_fails=3 weight=2;
#   server  192.168.247.129:8081 max_fails=3 weight=4;    
# }

#管理后台端(兼容HTTPS)
server {

        listen      80;#监听端口
#IP/域名可以有多个,用空格隔开
        server_name  www.test.com;#域名
 
        charset utf-8;
 
        access_log  /usr/local/nginx/logs/host.access.log  main;
 
        location / {
        }
 
        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;
    #    }
    #}
}

2、检查配置文件的正确性

/usr/local/nginx/sbin/nginx -t

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

五、Nginx服务启动

1、启动

/usr/local/nginx/sbin/nginx

[root@localhost conf]#  /usr/local/nginx/sbin/nginx
[root@localhost conf]# ps -ef | grep nginx
root      57398      1  0 19:57 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
ruready   57399  57398 13 19:57 ?        00:00:01 nginx: worker process
ruready   57400  57398  8 19:57 ?        00:00:00 nginx: worker process
root      57410  40384  0 19:57 pts/2    00:00:00 grep --color=auto nginx

2、停止

nginx -s stop

[root@localhost sbin]# ./nginx -s stop
root      50768      1  0 17:04 ?        00:00:00 nginx: master process ./nginx
nobody    51096  50768  0 17:18 ?        00:00:00 nginx: worker process
root      51153  50509  0 17:21 pts/0    00:00:00 grep --color=auto nginx

查看服务是否停止

[root@localhost sbin]# ps -ef|grep nginx
root      51204  50509  0 17:25 pts/0    00:00:00 grep --color=auto nginx

3、配置文件修改后重新加载Nginx服务

进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可

[root@localhost sbin]# ./nginx -s reload

4、访问测试

配置的端口是8001,所以输入http://localhost:8001,即可访问。

六、Nginx版本信息隐藏

编辑Nginx的配置文件 nginx.conf,在 http{ … } 块中添加参数 server_tokens off; 即可;
修改后需要重启Nginx才会生效;当需要显示版本信息时,只需将 server_tokens 设为 on

[root@localhost conf]# vi nginx.conf
[root@localhost conf]# ./../sbin/nginx -s reload
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sjzzyz2017/article/details/121143450

智能推荐

mybatis入门-04-配置文件详解_mybatis yml配置文件详解-程序员宅基地

文章浏览阅读120次。配置文件详解_mybatis yml配置文件详解

配置Ipv4地址,脚本怎么写_脚本地址怎么填-程序员宅基地

文章浏览阅读3.8k次。在公司项目开发的时候需要将项目部署在不同的服务器上,部署时你需要进行ip的切换,接下来我来介绍俩种配置方法。第一种首先点击桌面右下角的电脑图标,用鼠标右击打开Internet设置。进入到如下界面,点击以太网,点击右边的更改适配器配置。然后进入到如下界面,双击如下图标。然后进入到如下界面,双击属性。进入到如下界面,双击如下图标。进入到如下界面,黄色部分为ip和网关填上去就好,..._脚本地址怎么填

JVM调优专题-内存溢出及解决方案_jvm调优 堆内存溢出-程序员宅基地

文章浏览阅读1.6k次。吃撑过吗?吃多了还想吃咋办?当然JVM也有吃撑了的时候,甚至撑到程序宕机卡死,后果很严重。本节我们一起探讨如何判断JVM内存溢出、以及其解决方案。_jvm调优 堆内存溢出

「生存即赚」链接现实与游戏,打造3T平台生态

3T游戏的推出,旨在聚合资源,开拓新的市场领域,为整个行业创造更多的增长点和价值空间。抵抗者算力救助:为了缓解玩家在游戏中可能遭受的损失,当玩家所在的房间被攻破时,虽然他们投入的USDT或3TC会损失,但作为补偿,玩家将获得相应比例的3TC算力救助,这种机制既体现了游戏的人文关怀,又为玩家提供了继续参与游戏的动力。3T游戏平台解决的不仅仅是玩家游戏体验的问题,它还将区块链技术与DEFI和跨链相结合,链接全球的各个环节,让用户可以在不同链上进行游戏交互,享受更加多样化和丰富的游戏体验,打造3T游戏生态。

可视化配置 Nginx 代理:功能完备,使用简单 | 开源日报 No.234

想要轻松管理 Nginx 代理主机和 SSL 证书吗?试试一下 nginx-proxy-manager 吧!拥有简单强大的界面和各种功能优势,让您无需深入了解 Nginx 或 Let's Encrypt,就能轻松实现反向代理和 SSL 证书管理。赶快体验吧!

C语言高级-存储类、作用域、生命周期、链接属性_内存链接属性-程序员宅基地

文章浏览阅读2.6k次。第一点概念解析存储类一个变量的存储类属性就是描述这个变量存储在何种内存段中;作用域对以下函数进行解读如图可知虽然在for循环内部定义了a,但是在函数外部定义的a++还是显示错误,显示没有定义;这就是作用域的问题!生命周期生命周期就是描述这个变量什么时候诞生(运行时分配内存空间给这个变量)以及什么时候死亡(就是收回给这个变量分配的内存空间)的时间间隔!链接属性编译是将源代码的.C文件编译成.O文件(单个的二进制机器码格式),.O文件中就有很多的符号和代码段、数据段、_内存链接属性

随便推点

怎样在 Ubuntu 中修改默认程序_ubuntu20.04开机logo界面修改默认unity-程序员宅基地

文章浏览阅读814次。作为一个新手,你需要知道如何在 Ubuntu 中修改任何默认程序,这也是我今天在这篇指南中所要讲的。_ubuntu20.04开机logo界面修改默认unity

C语言初阶-函数-程序员宅基地

文章浏览阅读82次。有的时候,我们自己想要实现的功能没有库函数的时候,但是多个文件中又要使用到。那么我们就可以把自己的这个功能模块封装成一个函数。自己随时取用就行。自定义函数的形式是什么样的呢?statement://语句项ret_type 返回类型fun_name 函数名para1 函数参数举个例子,我们要实现一个加法函数,实现两个数相加ret_type 返回类型 我们如果想要返回一个结果,两个数相加的结果是整型,那么返回值就是int。

Java+Mysql +SpringBoot个人网盘系统92922-计算机毕业设计(可赠源码)_springboot 网盘-程序员宅基地

文章浏览阅读281次,点赞5次,收藏7次。该平台采用的数据库是Mysql,SpringBoot框架,使用Java技术开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。个人网盘系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个线上系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。_springboot 网盘

基于微信小程序的体育课评分系统+ssm+vue.js附带文章和源代码设计说明文档ppt-程序员宅基地

文章浏览阅读719次,点赞25次,收藏16次。博主介绍:CSDN特邀作者、985计算机专业毕业、某互联网大厂高级全栈开发程序员、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序、前端、python等技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导、面试辅导、简历修改。精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐。

Python 三种读文件方法read(), readline(), readlines()及去掉换行符\n_python 文件读取 \n-程序员宅基地

文章浏览阅读5.3w次,点赞36次,收藏134次。Python 三种读文件方法read(), readline(), readlines()及去掉换行符\n首先, 让我们看下数据demo.txt, 就两行数据.35durantteamGSW1. read()with open("demo.txt", "r") as f: data = f.read() print(data) print(ty..._python 文件读取 \n

Python sklearn MLP 报错 ValueError: Unknown label type: (array..._valueerror: unknown label type: (array(-程序员宅基地

文章浏览阅读2.3k次,点赞4次,收藏4次。原因:这是因为用的是MLPClassifier分类器,但是y_data也就是报错中的label为小数,分类器的话,输出只能使整数。解决:换成调用MLPRegressor回归器每列数据分别乘10n10^n10n使小数变成整数_valueerror: unknown label type: (array(