linux下安装nginx并配置stream

本文详细指导如何下载和配置Nginx源代码,包括设置编译选项启用Stream模块、SSL/TLS支持,以及配置stream功能并进行安装和启动验证。

1.下载安装包

nginx: download    下载地址 

2.上传后解压下载的Nginx源代码压缩包

tar -zxvf nginx-<version>.tar.gz

3.进入解压后的Nginx源代码目录:

cd nginx-<version>

4.配置编译选项

这个命令是在编译和安装 Nginx 之前,使用其源代码中的 configure 脚本来配置编译选项的。configure 脚本会检查系统环境,确定哪些特性和模块可以被编译进 Nginx。

这里,该命令使用了以下参数:

  • --prefix=/usr/local/nginx/nginx<version>:这个选项指定了 Nginx 安装后的根目录。换句话说,一旦 Nginx 被编译和安装,它的主要文件(如可执行文件、配置文件等)都会被放置在这个目录下。
  • --with-stream:这个选项启用了 Nginx 的 Stream 模块,该模块支持 TCP/UDP 代理和负载均衡。
  • --with-http_stub_status_module:这个选项启用了 ngx_http_stub_status_module,这个模块提供了简单的状态信息,如当前活动的连接数、已接收、已处理和等待的请求数等。
  • --with-http_ssl_module:这个选项启用了 ngx_http_ssl_module,这个模块提供了 SSL/TLS 支持,使得 Nginx 可以作为 HTTPS 服务器或反向代理。
./configure --prefix=/usr/local/nginx/nginx<version> --with-stream --with-http_stub_status_module --with-http_ssl_module

注意:如果配置需要修改那么可以重复命令新命令会覆盖之前旧的命令

5.编译和安装Nginx:

编译命令

make

安装命令

make install

或者

sudo make install

6.配置Nginx的stream功能

进入之前指定的安装目录查看配置文件并编辑后保存

cd /usr/local/nginx/nginx<version>/conf/
ls
vi nginx.conf

在http模块外 或者说和 http模块同级新建stream 模块/

#http {
#.....
#.....
#}


stream {  
    server {  
        #监听的端口
        listen 8080;
        #转发的目标ip和端口
        proxy_pass xxx.xx.xx.xx:xxxx;
    }  
}

7.验证配置文件和启动nginx 验证监听的端口
进入预先指定的安装目录下的sbin文件夹

cd /usr/local/nginx/nginx<version>/sbin

执行命令

./nginx -t

测试通过

启动Nginx

./nginx

验证监听的端口

netstat -tuln | grep <端口号>

Linux系统上安装Nginx配置证书可按以下步骤进行: ### 安装Nginx依赖 Linux安装Nginx需要操作系统先安装好GCC、openssl-devel、pcre-devel和zlib-devel软件库 [^1]。 ### 下载解压Nginx安装包 - 官网下载Nginx [^1]。 - 解压Nginx安装包。 ### 安装Nginx 配置安装Nginx,示例配置命令如下: ```bash ./configure --prefix=/soft/nginx --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_stub_status_module ``` 然后执行安装命令(通常为`make && make install`) [^4]。 ### 启动Nginx 安装完成后启动Nginx服务。 ### 停止和重启Nginx 可根据需要停止或重启Nginx服务。 ### 设置开机自启动NginxNginx在系统开机时自动启动。 ### 配置证书 配置HTTPS服务器需要SSL证书、SSL证书密钥。可以使用自签名证书,也可以使用购买的证书。 #### 生成自签名SSL证书(示例) 以下是生成自签名SSL证书的详细步骤(此处未详细列出,可参考相关文档)。 #### 配置Nginx使用证书 示例配置如下: ```nginx server { listen 443 ssl http2; server_name localhost; ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt; ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key; ssl_dhparam /etc/nginx/ssl/dhparam.pem; # 安全协议配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # 其他配置... } ``` 也可以进入`vi nginx.config`修改`http`下的`server`配置,示例如下: ```nginx http { include mime.types; default_type application/octet-stream; keepalive_timeout 65; log_format main '[$time_local] "$request" $remote_addr - $remote_user' '$status $body_bytes_sent ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; gzip on; gzip_min_length 2k; gzip_buffers 32 16k; gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on; charset utf-8; server_names_hash_bucket_size 512; server { #监听443端口 listen 443; # 你的域名 server_name 127.0.0.1; ssl on; ssl_certificate /etc/nginx/ssl_key/server.crt; # 配置证书位置 ssl_certificate_key /etc/nginx/ssl_key/server.key; # 配置秘钥位置 } } ``` 修改完成后,重新启动Nginx使配置生效 [^3][^5]。 ### 防火墙设置 确保防火墙允许Nginx的HTTP(80端口)和HTTPS(443端口)流量通过。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值