【网络】安装Nginx笔记


目录
  • http://nginx.org/

    今具体版本可以去这里选:http://nginx.org/download

    #在对应目录下载nginx
    wget http://nginx.org/download/nginx-1.23.2.tar.gz
    #解压
    tar -zxvf nginx-1.23.2.tar.gz
    #进入目录
    cd nginx-1.23.2
    

    ngin文件夹内容如下:

    lzm@VM-12-11-ubuntu:~/work/blog_server/nginx-1.23.2$ ls
    auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  sr
    

    Nginx编译配置

    在安装配置前,先确认下当前配置:./configure --help

    如果通过修改参数来修改配置:

    如:

    • 安装路径:--prefix=/usr/local/nginx
    • 添加一个模块功能:--with-xxx_mmodule

    我这里就简单添加下http的模块即可:

    sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module
    

    配置成功会显示1如下:

    编译&安装&验证nginx

    编译:

    sudo make
    

    安装:

    sudo make install
    

    验证:

    # 切换到nginx安装路径
    cd /usr/local/nginx
    #启动nginx
    sudo ./sbin/nginx
    # 查看当前在跑的nginx版本&配置
    sudo ./sbin/nginx -V
    

    如下表示启动成功:

    在浏览器输入安装了nginx的主机IP,出现如下图即表示nginx正常运行:

    Nginx服务配置

    配置文件再Nginx安装目录下的./conf/nginx.conf,我们修改该文件根据自己的服务进行配置即可。

    配置理解可以参考:菜鸟

    • 全局块 :配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
    • events块 :配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
    • http块 :可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
    • server块 :配置虚拟主机的相关参数,一个http中可以有多个server。
    • location块 :配置请求的路由,以及各种页面的处理情况。

    配置SSL

    这个按需选择。

    先拿到证书,如果想公网访问,可去域名处申请免费的SSL证书,如:腾讯云

    申请成功后以nginx下载:

    把证书放到指定目录:主要是两个文件:证书链.pem和私钥.key

    cd /usr/local/nginx
    sudo mkdir ./conf/cert
    # 根据自己证书的位置操作
    cp /home/lzm/cert/xxx.* ./ccert
    

    修改nginx配置:

    sudo vim 
    

    开放&配置https代码:

        #HTTPS server
        server {
            listen       443 ssl;
            #监听的地址
            server_name  localhost;
    
            #改为你的证书
            ssl_certificate      ./cert/cert.pem;
            #改为你的私钥
            ssl_certificate_key  ./cert/cert.key;
            # session cache功能
            ssl_session_cache    shared:SSL:1m;
            # 会话重用时限
            ssl_session_timeout  5m;
            # 支持的加密套件
            ssl_ciphers  HIGH:!aNULL:!MD5;
            # 是否由服务器指定加密套件
            ssl_prefer_server_ciphers  off;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
        }
    
    

    重启nginx:

    cd /usr/local/nginx/sbin/
    sudo ./nginx -s reload
    

    使用https访问:

    参考

    • Ubuntu编译安装带ipv6模块的nginx并配置ssl证书:https://blog.csdn.net/diqiudq/article/details/122974700
    • 配置参考:菜鸟。