切换到宽版
  • 726阅读
  • 3回复

nginx配置使用教程 [复制链接]

上一主题 下一主题
离线zfc2020
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2022-01-11

安装部署
Windows下
下载完成后,解压缩,运行cmd,使用命令进行操作,不要直接双击nginx.exe,不要直接双击nginx.exe,不要直接双击nginx.exe
一定要在dos窗口启动,不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程,再启动才可以
2、使用命令到达nginx的加压缩后的目录  cd c:\nginx-1.15.2  (路径以nginx安装路径为准,或者先进入nginx目录中然后在文件资源管理器中输入cmd直接进入该路径下)
3、启动nginx服务,启动时会一闪而过是正常的.   启动命令  start nginx.exe
4、查看任务进程是否存在,dos或打开任务管理器都行
tasklist /fi "imagename eq nginx.exe"
默认为两个进程,其中一个为manager 另外一个是实例(服务器上最好配置为cpu核数/2/4这样的实例配置,比如你是16核的CPU 实例可配置为4或是8)
如果没有可能是启动报错了查看一下日志,在nginx目录中的logs文件夹下error.log是日志文件
常见的错误:
(1)端口号被占用
(2)nginx文件夹路径含中文
5、修改配置文件,进入解压缩目录,直接文件夹点击进去即可,不需要从dos操作
conf 配置文件目录
html 默认站点目录
logs日志目录
在conf目录下找到nginx.conf使用txt文本打开即可,找到server这个节点,修改端口号,如果有需求可以修改主页目录没有就不用修改
修改完成后保存,使用以下命令检查一下配置文件是否正确,后面是nginx.conf文件的路径,successful就说明正确了
nginx -t -c /nginx-1.15.2/conf/nginx.conf
如果程序没启动就直接start nginx启动,如果已经启动了就使用以下命令重新加载配置文件并重启
nginx -s reload

基础命令
关闭nginx服务
快速停止  nginx -s stop  
完整有序的关闭  nginx -s quit

=================配置文件详解==================
#意为启动8个进程实例
worker_processes  8;
pid        logs/nginx.pid;
#设置最大连接数,也就是nginx的最大并发数
events {
    worker_connections 2048 ;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #配置上传下载最大size,太小会导致大文件不能上传下载默认50,如果有批量下载需要的可以酌情调整
    client_max_body_size 1024m;
    #nginx缓冲区
    proxy_buffer_size 16k;
    proxy_buffers 4 16k;
    proxy_busy_buffers_size 16k;
    proxy_max_temp_file_size 1024m;
   # keepalive_timeout  1800;
#重点来了  upstream组是配置集群的请求方式 默认是以轮询方式,轮询即每请求A一次下次一定请求B 这样做可以让流量平均分配到每台负载机上
#还有一种为ip_hash模式,此模式为hash客户端的ip将它指向一台负载机,例如192.168.0.1指向A 那么不管请求多少次 只要是这个IP就会被分配给A机去响应
#不过这种模式下客户机的IP做了路由转发的慎用  否则可能会将请求都集中到一台负载机上
        upstream dzda-Lams {
                #ip_hash
                ##我这里啥都不写 就是轮询,有几台负载机就写几个IP,需要使用iphash的就将上一句注释去掉;
                server 10.185.62.96:9990;
                server 10.185.62.96:9991;
                keepalive 50;
        }
        #同时我的nginx还代理了门户网站、爬虫、接口等服务 如果没有的可以忽略,想要在加一个代理的可参照写法,同样在upstream 组中增加你的server
        #门户网站
        upstream dzda-cms {
                server 10.185.62.96:9998;
        }
        #爬虫网站
                upstream dzda-crawler {
                server 10.185.11.126:9990;
        }
        #功能性接口服务
        upstream dzda-HamsFunctionInterface {
                server 10.185.62.96:9998;        
        }
        #数据接口HamsPort
        upstream dzda-HamsPort{
                server 10.185.62.96:9998;
        }
#同时使用http协议和https协议
#这里划重点,如果有要做https协议的在Linux下需要openssl作为依赖,下期出Linux下安装和配置使用nginx
    # HTTPS server
    server {
        #默认监听80端口
        listen       80;
        listen       443 ssl;
        #这里的servername我写的就是nginx机器的IP 名字随意起 也可写域名
        server_name  10.185.62.98;
        #这是https使用到的证书 不做ssl的忽略
        ssl_certificate      6177061__ylhdc.com.cn.pem;
        ssl_certificate_key  6177061__ylhdc.com.cn.key;
        ssl_session_cache    shared:SSL:20m;
        ssl_session_timeout  20m;
        #ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_prefer_server_ciphers  on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        #开启gzip压缩,减少响应时间
        gzip                       on;
        gzip_comp_level            6;
        gzip_min_length            1k;
        gzip_types                 text/plain text/css text/xml image/png text/javascript application/json application/javascript application/x-javascript application/xml;
        charset utf-8;
        #配置nginx的日志文件位置。error日志配置只有warn级别以上的才记录
        access_log  logs/host.access.log;
        error_log   logs/host.error.log warn;
        #划重点  这里配置IP后面路径的请求位置。  /路径我将其转发到我上面配置的档案系统的upstream组中去
        # 访问时直接输入ip不需要写端口 因为80就是默认监听端口
                location / {
                proxy_pass  http://dzda-Lams/Lams/;
        }
               #/Lams路径我同样将其转发到我上面配置的档案系统的upstream组中去,并配置使用http_1.1的方式支持长连接
                location /Lams/ {
                        proxy_pass http://dzda-Lams/Lams/;
                proxy_connect_timeout 100;
                proxy_send_timeout 100;
                proxy_read_timeout 600;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
              #以此类推
                location /cms {
                        proxy_pass http://dzda-cms/cms/;
        }
        location /HamsFunctionInterface {
            proxy_pass http://dzda-HamsFunctionInterface/HamsFunctionInterface/;
        }
        location /HamsPort {
            proxy_pass http://dzda-HamsPort/HamsPort/;
        }
        location /crawler {
            proxy_pass http://dzda-crawler/crawler/static/index.html#/login;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  }

离线zfc2020

只看该作者 沙发  发表于: 2022-01-11
window下可以手动创建一些批处理脚本来启动、停止、重启nginx服务
stopNginx.bat  内容如下》
@echo off
c:
cd C:\package\nginx-1.15.5
tasklist | findstr /i "nginx.exe"
echo "nginx is running, stopping..."
rem nginx -s stop
TASKKILL /F /IM nginx.exe /T
echo "stop ok"

startNginx.bat  内容如下》
@echo off
c:
cd C:\package\nginx-1.15.5
echo "nginx is starting on port 80"
start "" "nginx.exe"
exit

restartNginx.bat  内容如下》
@echo off
c:
cd C:\package\nginx-1.15.5
tasklist | findstr /i "nginx.exe"
echo "nginx is running, stopping..."
rem nginx -s stop
TASKKILL /F /IM nginx.exe /T
echo "stop ok"
start "" "nginx.exe"
exit
离线19765874

只看该作者 板凳  发表于: 2022-01-12
  proxy_http_version 1.1;
离线19765874

只看该作者 地板  发表于: 2022-01-12
http://hwxt.com.cn/html/25/2201/746.html
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个