【网络】安装Nginx笔记

前言

up安装nginx主要是为了在服务器上做反向代理。有兴趣的同学可以参考下。后面会整理出博客网站搭建的笔记分享出来(其实网上也有很多了)。

原文:李柱明博客://www.cnblogs.com/lizhuming/p/16888637.html

注意:

  1. 当前笔记基于ubuntu,可直接复制命令。

安装前先更新下

sudo apt-get update

安装依赖库

#安装openssl库
sudo apt-get install openssl libssl-dev
#安装pcre
sudo apt-get install libpcre3 libpcre3-dev
#安装zlib
sudo apt-get install zlib1g-dev
#安装编译包
sudo apt-get install build-essential

下载Nginx

nginx官网://nginx.org/

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

#在对应目录下载nginx
wget //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访问:

参考