美文网首页java学习之路
nginx——linux环境下载安装使用

nginx——linux环境下载安装使用

作者: 唯有努力不欺人丶 | 来源:发表于2023-04-02 16:06 被阅读0次

最近在部署项目包括申请环境之类的东西,感触倒是也比较多,总想着记一记笔记。但是因为种种原因一拖再拖。今天终于下定决定从头整理。
几年前上家公司做过部署,但是因为规模小,所以所谓的服务器倒也是windows系统,当时也整理了线上环境搭建的简单过程。简单的线上环境搭建教程
不过这次部署是linux系统,并且用到了一直传说中的docker,差别蛮大的。这次是从一个空服务器开始的,整体分为三块:

  • nginx下载安装使用
  • docker私库创建
  • docker启动

Nginx下载

下载地址是这个:
http://nginx.org/en/download.html
我这边下载的是linux系统的稳定版:

image.png
下载完之后我这边的安装是完全按照推荐路径来的,也就是/usr/local/nginx。第一次头铁想要自定义路径,后来发现和现有的各种教程有出入,改来改去贼麻烦,也就认输了。然后nginx需要一些依赖,我们在安装之前下载就行:
这里说个插曲,因为我们这个服务器是公司提供的,一开始下载依赖都会报错,后来发现是服务器设置的问题,找了安全团队解决的。之所以这里单独说下是因为一开始不敢确定是啥问题,自己鼓捣好久,总是怀疑是我命令或者操作有问题。浪费了一些时间,反正大家以后如果看到这个报错,可以第一时间往网络上想。
下载依赖报错
继续说nginx所需要的依赖:
  1. gcc环境:

yum install gcc-c++

  1. pere(解析正则的一个三方包)

yum install -y pcre pcre-devel

  1. zlib(压缩和解压的一个包)

yum install -y zlib zlib-devel

  1. openssl(如其名,用于支持https请求的一个三方包)

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

nginx安装过程

解压

首先第一步下载的nginx包传到服务器上,解压到推荐目录下(这个目录其实是有点讲究的,属于约定俗成的一个东西,usr算是linux的系统级目录,一般用户自己安装的软件都建议放在/usr/local下。):

tar -xvf nginx-1.14.0.tar.gz -C /usr/local

解压nginx

创建makeFile文件

解压完成后,进入到/usr/local/nginx-xxx目录下(如果你的解压地址和我上面说的一样)然后执行下面这一串命令:

./configure
--prefix=/usr/local/nginx
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--with-http_gzip_static_module
--http-client-body-temp-path=/var/temp/nginx/client
--http-proxy-temp-path=/var/temp/nginx/proxy
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
--http-scgi-temp-path=/var/temp/nginx/scgi
--with-http_stub_status_module
--with-http_ssl_module
--with-file-aio
--with-http_realip_module

需要注意的是如果报错:bash: ./configure: No such file or directory。
那我的建议是如下两步操作:

  • 检查我们的nginx解压包里有没有configure,可以用如下命令:

find -name configure

  • 在/usr/local/下创建nginx目录,命令如下:

mkdir nginx

这几步没啥难度,但是需要注意目录切换。


image.png

确定nginx源码目录下有makefile文件即可


image.png

创建临时文件目录

mkdir /var/temp/nginx -p

然后在nginx源码目录下编译和安装即可,命令如下(感觉执行第二个的时候没啥效果,不过因为我当时两个都执行了,所以无法验证第二个命令到底是不是必须的了):


image.png

make
make install

然后我们打开/usr/local/nginx的目录结构,如果包括cong,html,sbin。说明应该没问题。其中sbin中是执行文件,conf是配置文件。html是页面。

nginx命令

上面应该是安装完了,下面我们可以启动下试试,注意这个命令在sbin目录下执行

./nginx

正常来讲这个时候nginx就可以启动了。然后这里如果报各种乱七八糟的问题,可以针对性百度或者排查。比如如果显示端口被占用,可以考虑是不是80端口被占用了,我们可以搜一下:

netstat -ntlp

我个人当时就遇到了这个问题,这里建议最开始用nginx默认的配置文件启动。因为默认的没啥配置,可以排除因为配置文件写的有问题启动不了。然后确定nginx启动没问题了,我们再去修改配置文件,一点点做成我们想要的配置。
下面列几个我们常用的命令:

  1. 启动nginx:

./nginx

  1. 刷新nginx配置文件:

./nginx -s reload

  1. 停止nginx:

./nginx -s stop

  1. nginx的启动/停止都要在sbin目录下执行
  2. nginx 的配置文件位于/usr/local/conf目录下的nginx.conf文件

至于nginx的配置,说简单也简单,说难也挺复杂。反正我是多次重启反复尝试才算是配置了一个勉强能用的配置文件。个人建议就是遇到问题百度吧,我这边把配置文件贴出来分享下:

worker_processes  4;
error_log  logs/error.log  debug;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens on;
    server_names_hash_bucket_size 64;
    server_names_hash_max_size 2048;
    sendfile on;
    
    server {
        listen 443 ssl;
        server_name cnbu.xxx.com; 
        rewrite ^/$ https://cnbu.xxx.com/xxx-ui/ permanent; 
        root html;
        index index.html index.htm;
        ssl_certificate cnbu_xxx_com.crt;
        ssl_certificate_key cnbu_xxx_com.key;   
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   
        ssl_prefer_server_ciphers on;
        location /xxx-ui/ {
            client_max_body_size 8M;
            client_body_buffer_size 128k;
            fastcgi_intercept_errors on;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
            proxy_pass http://10.96.178.81:81/xxx-ui/;
            proxy_set_header        Host                    $http_host;
            proxy_set_header        X-Real-IP               $remote_addr;
            proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto       $scheme;
            proxy_set_header        X-Forwarded-Port        $server_port;
            proxy_connect_timeout 300s;
            proxy_send_timeout 300s;
            proxy_read_timeout 300s;
        }
    }


    server {
        listen       80;
        server_name  localhost;

        location / {
            return 301 https://cnbu.xxx.com; 
        }
        location /admin {
            client_max_body_size 8M;
            client_body_buffer_size 128k;
            fastcgi_intercept_errors on;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
            proxy_pass http://10.96.178.81:1338;
            proxy_set_header        Host                    $http_host;
            proxy_set_header        X-Real-IP               $remote_addr;
            proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto       $scheme;
            proxy_set_header        X-Forwarded-Port        $server_port;
            proxy_connect_timeout 300s;
            proxy_send_timeout 300s;
            proxy_read_timeout 300s;    
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

至此,这个nginx就搭建完成。本篇笔记就到这里,如果对你稍有帮助记得点个喜欢点个关注。大家工作愉快吧~!

相关文章

  • Windows 下配置 Nginx 全局使用

    前言 在 Windows 下载安装了 Nginx,配置了环境变量全局使用 Nginx。但是 Nginx 在使用时 ...

  • Nginx安装

    安装nginx需要的linux环境: 下载nginx 编译安装 使用nginx代理 ,修改配置文件 启动nginx...

  • nginx安装手册

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。...

  • nginx安装手册

    1 nginx安装环境nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。...

  • 2018-04-06 Linux 安装nginx

    1安装nginx环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 ...

  • Nginx安装及简单使用

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。...

  • Nginx安装详细流程

    nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 g...

  • nginx安装

    1.nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境。 ...

  • Nginx超详细入门!

    本文介绍基于 Linux 系统的 nginx 安装以及简单使用 1、安装 1.1、安装 nginx 依赖的环境 使...

  • nginx 入门

    本文介绍基于 Linux 系统的 nginx 安装以及简单使用 1、安装 1.1、安装 nginx 依赖的环境 使...

网友评论

    本文标题:nginx——linux环境下载安装使用

    本文链接:https://www.haomeiwen.com/subject/vprrddtx.html