ububtu/debain linux下的 Nginx安装,websocket转发及https配置

6 篇文章 0 订阅

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。

ububtu平台编译环境可以使用以下指令

apt-get install build-essential
apt-get install libtool

下面正式开始
---------------------------------------------------------------------------
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
可以是任何目录,本文选定的是/usr/local/src

cd /usr/local/src

2.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

cd /usr/local/src
sudo wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz
sudo tar -zxvf pcre-8.42.tar.gz
cd  pcre-8.42
sudo ./configure 
sudo make
sudo make install

3.安装zlib库
http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /usr/local/src
sudo wget http://zlib.net/zlib-1.2.11.tar.gz
sudo tar -zxvf  zlib-1.2.11.tar.gz
cd zlib-1.2.11/
sudo ./configure 
sudo make
sudo make install

4.安装ssl(某些vps默认没装ssl)

sudo wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
sudo tar -xzvf openssl-1.0.1t.tar.gz
cd openssl-1.0.1t/
sudo ./config 
sudo make
sudo make install

5.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个下载安装,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

sudo wget http://nginx.org/download/nginx-1.15.6.tar.gz
sudo tar -xzvf nginx-1.15.6.tar.gz
cd nginx-1.15.6 
sudo ./configure --sbin-path=/usr/local/nginx/nginx \
 --conf-path=/usr/local/nginx/nginx.conf \
 --pid-path=/usr/local/nginx/nginx.pid \
 --with-pcre=/usr/local/src/pcre-8.42 \
 --with-zlib=/usr/local/src/zlib-1.2.11 \
 --with-openssl=/usr/local/src/openssl-1.0.1t

sudo make
sudo make install

--with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源码路径。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。

安装成功后 /usr/local/nginx 目录下如下:

yan@ubuntu:/usr/local/nginx$ ls
client_body_temp        logs                scgi_params
fastcgi.conf            mime.types          scgi_params.default
fastcgi.conf.default    mime.types.default  scgi_temp
fastcgi_params          nginx               uwsgi_params
fastcgi_params.default  nginx.conf          uwsgi_params.default
fastcgi_temp            nginx.conf.default  uwsgi_temp
html                    nginx.old           win-utf
koi-utf                 nginx.pid
koi-win                 proxy_temp

6.启动
确保系统的 80 端口没被其他程序占用,运行/usr/local/nginx/nginx 命令来启动 Nginx

netstat -ano|grep 80

如果查不到结果后执行,有结果则忽略此步骤(ubuntu下必须用sudo启动,不然只能在前台运行)

cd /usr/local/nginx/    #html访问路径
sudo ./nginx     #html文件名称

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

-----------------------------------------------------
到这里nginx就安装完成了,如果只是处理静态html就不用继续安装了

7. nginx安装完成后,想监听https(端口443),把链接转发到本地服器端口为8080的web服务上,具体配置如下:

server {
    listen       443 ssl;
	server_name localhost;
	ssl_certificate /etc/letsencrypt/live/online.XX.top/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/online.XX.top/privkey.pem;
    location / {
	    proxy_pass http://online.XX.top:8080/;
	    proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        root   html;
        index  index.html index.htm;
    }
}

参数说明:
proxy_pass nginx代理后的实际访问地址
proxy_connect_timeout 转发模块的超时设置 默认值 60s ,该指令设置与upstream server的连接超时时间,有必要记住,这个超时不能超过75秒。
这个不是等待后端返回页面的时间,那是由proxy_read_timeout声明的。如果你的upstream服务器起来了,但是hanging住了(例如,没有足够的线程处理请求,所以把你的请求放到请求池里稍后处理),那么这个声明是没有用的,因为与upstream服务器的连接已经建立了。

proxy_read_timeout 默认值 60s,该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。

proxy_send_timeout 默认值 60s,这个指定设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接

8. 本配置中的SSL证书生成方式,参考另一篇博文HTTPS自己生成证书

nginx安装链接:https://blog.csdn.net/u014374031/article/details/73441577

nginx参数说明参考链接:https://blog.csdn.net/qq_29663071/article/details/80759098

nginx转发websocket参考链接:https://www.cnblogs.com/java-synchronized/p/7501816.html

ssl证书生成参考链接https://www.cnblogs.com/ly-radiata/articles/6119374.html

参考链接:http://www.nginx.cn/install

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值