zoukankan      html  css  js  c++  java
  • linux 下nginx安装

       一、一键安装四个依赖

    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

    二、创建一个安装目录,并下载nginx安装包
    cd /usr/local
    mkdir nginx   #创建目录名为nginx的文件夹
    cd nginx
    wget http://nginx.org/download/nginx-1.16.1.tar.gz #下载nginx安装包

    三、安装nginx
    cd /usr/local/nginx  #进入nginx目录
    tar zxvf nginx-1.16.1.tar.gz  -C  /usr/local/nginx #解压
    cd /usr/local/nginx/nginx-1.16.1
    ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf   #执行命令
    如果执行下面的命令时报: -bash: ./configure: Permission denied 错误,则执行:
    bash ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
    如果执行下面的命令时报: 找不到logs文件夹 错误,则在安装目录中创建 logs文件夹
    make #执行make命令
    make install #执行make install命令

    四、检查及启动nginx
    /usr/local/nginx/sbin/nginx -t  #检查一下修改过的配置文件是否正确

       cd /usr/local/nginx/sbin  #进入安装目录

      ./nginx  #启动nginx

      如果启动没有报错,则启动成功。在浏览中输入服务器ip,如果能访问到nginx首页,则安装成功。有时可能还要关闭防火墙才能访问。

      五、如果修改配置文件后要重启nginx服务

       /usr/local/nginx/sbin/nginx -s reload  #重启nginx

    附:nginx 优化后的配置文件

    
    
    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  102400;#number的值不能大于操作系统能打开的最大的文件句柄数
        accept_mutex on;#优化同一时刻只有一个请求而避免多个睡眠进程被唤醒的设置,on为防止被同时唤醒,默认为off
        multi_accept on; #打开同时接受多个新网络连接请求的功能
        use epoll; #使用epoll事件驱动,因为epoll的性能相比其他事件驱动要好很多
    }
    
    
    http {
        server_tokens off; #隐藏ngxin版本号
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        gzip  on;
       #gzip_static on;
        gzip_disable "msie6"; #不使用gzip IE6
        gzip_min_length 10k; #gzip压缩最小文件大小,超出进行压缩(自行调节)
        gzip_buffers 4 16k; #buffer 不用修改
        gzip_comp_level 3; #压缩级别:1-10,数字越大压缩的越好,时间也越长
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; #压缩文件类型
        gzip_vary off;  #跟Squid等缓存服务有关,on的话会在Header里增加 "Vary: Accept-Encoding"
    
        server {
        
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                add_header Cache-Control "no-cache, no-store";
                root   /data/xyweb/;#
                index  index.html index.htm;
                expires -1;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #    deny  all;
            #}
        }
    
    
        server {
            listen  8089;#
            server_name  localhost;
    
            location / {
                root   /data/xyweb/machine;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
        
        server {
            listen  8088;#
            server_name  localhost;
    
            location / {
                root   /data/xyweb/rzweb;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
        
        server {
            listen  8086;#
            server_name  localhost;
    
            location / {
                root   /data/xyFiles;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
        
        server {
            listen  80;#
            server_name  pay.xynetweb.com;
            location / {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://195.6.71.888:8090/service-pay/pay/;
            }
        }
        
        server {
            listen  80;#
            server_name  paytest.xynetweb.com;
            location / {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://195.6.4.448:6017/service-pay/pay/;
            }
            
            location /api/pay/jft/ {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://195.6.4.448:6017/service-pay-wx/pay/api/jft/;
            }
        }
        
        
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    
        # HTTPS server
        #
        #server {
        #    listen       443 ssl;
        #    server_name  localhost;
    
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
    
        #    ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;
    
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    }

    六、开启nginx的tcp功能
    1、安装功能模块
       cd /usr/local/nginx/nginx-1.16.1
       ./configure --with-stream=dynamic

    2、运行mak(
    此处一定不能使用make install命令,执行该命令会将原有nginx目录进行覆盖)
    3、复制文件(复制前关闭nginx)
        cp ./objs/nginx /usr/local/nginx/sbin/nginx
    4、修改配置文件
    load_module modules/ngx_stream_module.so;
    user  nobody;
    worker_processes  auto;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        use epoll;
        worker_connections  1024;
    }
    
    
    stream {
        server {
            listen 8088;
            proxy_pass 192.168.1.1:8088;
        }
    }
    
    

      5、重启nginx,配置成功

    
    
    
    
    
     
  • 相关阅读:
    LVS的优点和缺点
    linux系统中如何查看日志 (常用命令)
    linux隐藏病毒处理(top查询us占用70%左右,却没有CPU高使用的进程)
    linux系统批量注释的方法
    linux系统硬件时间命令
    LINUX服务器设置只允许密钥登陆
    linux系统脚本放在后台与前台
    Kworkerd恶意挖矿分析
    HAProxy的优点
    find命令
  • 原文地址:https://www.cnblogs.com/aegisada/p/10615055.html
Copyright © 2011-2022 走看看