Skip to content
石头软件测试技术分享石头软件测试技术分享
主页
github icon
  • 辅助技能

    • 编程语言
      • 环境部署

        • linux常用命令
          • shell
            • docker
              • nginx
                • nginx介绍
                  • nginx的安装
                    • 安装编译工具及库文件
                      • 下载Nginx
                        • 创建nginx目录
                          • 解压nginx压缩包
                            • 编译和安装
                              • 配置环境变量
                              • nginx的使用
                                • 查看nginx版本
                                  • 启动命令
                                    • 停止命令
                                      • 重启命令
                                        • 重新载入配置文件
                                        • nginx配置文件
                                          • http配置
                                            • https配置
                                              • 反向代理配置
                                                • 重定向
                                              • redis
                                                • mysql
                                                  • allure
                                                    • sonarqube部署
                                                    • 工具

                                                      • adb
                                                        • git的使用
                                                          • 抓包工具
                                                            • 资源监控

                                                          nginx

                                                          author icon石头calendar icon2022年3月5日category icon
                                                          • 测试辅助技能
                                                          tag icon
                                                          • nginx
                                                          timer icon大约 3 分钟

                                                          此页内容
                                                          • nginx介绍
                                                          • nginx的安装
                                                            • 安装编译工具及库文件
                                                            • 下载Nginx
                                                            • 创建nginx目录
                                                            • 解压nginx压缩包
                                                            • 编译和安装
                                                            • 配置环境变量
                                                          • nginx的使用
                                                            • 查看nginx版本
                                                            • 启动命令
                                                            • 停止命令
                                                            • 重启命令
                                                            • 重新载入配置文件
                                                          • nginx配置文件
                                                            • http配置
                                                            • https配置
                                                            • 反向代理配置
                                                            • 重定向

                                                          # nginx

                                                          # nginx介绍

                                                          Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

                                                          # nginx的安装

                                                          # 安装编译工具及库文件

                                                          yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
                                                          
                                                          1

                                                          # 下载Nginx

                                                          wget -P /root http://nginx.org/download/nginx-1.20.1.tar.gz
                                                          
                                                          1

                                                          # 创建nginx目录

                                                          mkdir /usr/local/nginx
                                                          
                                                          1

                                                          # 解压nginx压缩包

                                                          tar zxvf /root/nginx-1.20.1.tar.gz -C /usr/local/nginx
                                                          
                                                          1

                                                          # 编译和安装

                                                          cd /usr/local/nginx/nginx-1.20.1
                                                          ./configure --prefix=/usr/local/nginx --with-http_ssl_module
                                                          make && make install
                                                          
                                                          1
                                                          2
                                                          3

                                                          # 配置环境变量

                                                          vi /etc/profile
                                                          NGINX=/usr/local/nginx/sbin
                                                          export PATH=$PATH:$NGINX
                                                          
                                                          source /etc/profile
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5

                                                          # nginx的使用

                                                          # 查看nginx版本

                                                          nginx -v
                                                          
                                                          1

                                                          # 启动命令

                                                          nginx
                                                          
                                                          1

                                                          # 停止命令

                                                          nginx -s stop
                                                          
                                                          1

                                                          # 重启命令

                                                          nginx -s reopen
                                                          
                                                          1

                                                          # 重新载入配置文件

                                                          nginx -s reload
                                                          
                                                          1

                                                          # nginx配置文件

                                                          # http配置

                                                          普通的前后端分离项目(spring + vue)均可以使用这个简单的nginx配置文件启动前端服务

                                                          worker_processes auto;
                                                          pid /run/nginx.pid;
                                                          
                                                          events {
                                                                  worker_connections 768;
                                                                  # multi_accept on;
                                                          }
                                                          
                                                          http {
                                                              include mime.types;
                                                              default_type application/octet-stream;
                                                              sendfile on;
                                                              keepalive_timeout 65;
                                                              client_max_body_size 2048M;
                                                              server {
                                                                  listen 80;                            // 端口 http默认80
                                                                  server_name 域名;                     // 监听域名或者ip地址 可填写多个
                                                                  
                                                                  location / {
                                                                      root /var/www/html;               // 网页文件路径
                                                                      index index.html;                 // 主页文件
                                                                  }
                                                              }
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          6
                                                          7
                                                          8
                                                          9
                                                          10
                                                          11
                                                          12
                                                          13
                                                          14
                                                          15
                                                          16
                                                          17
                                                          18
                                                          19
                                                          20
                                                          21
                                                          22
                                                          23

                                                          # https配置

                                                          注意

                                                          配置https需要安装ssl模块, 需要检查nginx是否安装, 上述教程已经安装了ssl模块
                                                          使用 nginx -V 检查是否安装ssl模块
                                                          如果出现configure arguments: --with-http_ssl_module 则已安装

                                                          server {
                                                              listen 443;                           // 端口号 https默认443
                                                              server_name 域名;                     // 监听域名或者ip地址 可填写多个
                                                              ssl on;                              // ssl开关
                                                              client_max_body_size 2048M;          // 允许传输的文件大小
                                                              ssl_certificate  ssl证书pem路径;       // ssl证书pem路径
                                                              ssl_certificate_key ssl证书key路径;    // ssl证书key路径
                                                              ssl_session_timeout 5m;               // ssl会话超时时间
                                                              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 / {
                                                                  root /var/www/html;               // 网页文件路径
                                                                  index index.html;                 // 主页文件
                                                              }
                                                          }
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          6
                                                          7
                                                          8
                                                          9
                                                          10
                                                          11
                                                          12
                                                          13
                                                          14
                                                          15
                                                          16

                                                          # 反向代理配置

                                                          通过反向代理可以实现对后端真实服务器ip的隐藏, 只会暴露代理服务器地址, 可以让没有80端口的服务器也能通过反向代理的方式使用80端口

                                                          server {
                                                          	listen 80;                 // 监听端口
                                                          	server_name 域名;          // 监听域名
                                                          	location / {
                                                          		proxy_pass http://192.168.1.1:8080/;  // 反向代理域名或ip
                                                          	}
                                                          }
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          6
                                                          7

                                                          # 重定向

                                                          http的重定向, 为了在使用http访问站点时, 能自动跳转到https访问

                                                          server {
                                                              listen 80;                    // 监听端口
                                                              server_name 域名;             // 监听域名
                                                              rewrite ^(.*)$ https://域名;  // 重定向域名或ip
                                                          }
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5

                                                          注意

                                                          如果启动了代理服务器后还是无法通过端口访问页面, 请检查服务器的防火墙策略, 使用云服务的要注意服务+云服务器运营商的防火墙策略

                                                          上一页
                                                          docker
                                                          下一页
                                                          redis
                                                          Copyright © 2021-present Evan You 石头 | 备案号 : 蜀ICP备2021021200号-2 | 友情链接 : APP开发者工具