zoukankan      html  css  js  c++  java
  • [原创]# 玩转nginx系列

    首先先上如何彻底删除nginx

    看到这个标题的小伙伴都惊呆了,还不知道怎么搞,却叫我怎么卸载。为什么我要这样,其实,Reset也是一种解决问题的方式嘛。

    首先执行下卸载命令

    sudo apt-get --purge remove nginx
    sudo apt-get autoremove
    dpkg --get-selections | grep nginx
    sudo apt-get --purge remove nginx-common
    

    这样呢,就卸载了nginx包括配置文件了

    在看看进程,执行

    root@localhost:~# ps -ef | grep  nginx
    root      3729     1  0 04:40 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
    www-data  3731  3729  0 04:40 ?        00:00:00 nginx: worker process
    root      4090  4041  0 05:40 pts/0    00:00:00 grep --color=auto nginx
    

    干掉进程:

    sudo kill nginx
    

    查看残余文件

    sudo find / -name nginx*
    root@localhost:~# sudo find / -name nginx*
    /sys/fs/cgroup/systemd/system.slice/nginx.service
    /usr/sbin/nginx
    /usr/share/doc/nginx-core
    /usr/share/doc/nginx-common
    /usr/share/doc/nginx
    /usr/share/nginx
    /usr/share/vim/addons/indent/nginx.vim
    /usr/share/vim/addons/syntax/nginx.vim
    
    

    手动删除文件

    sudo rm -r /usr/.....
    

    好了,现在干净了

    安装 nginx

    sudo apt-get install nginx
    

    查看 nginx 版本

    nginx -v #查看详细 nginx -V
    

    启动nginx

    sudo /etc/init.d/nginx start
    

    接下来访问:http://localhost 就可以看到nginx的欢迎页面了

    Nginx 配置

    nginx配置文件位置是 /etc/nginx/nginx.conf默认是下面这样的:

       
    root@localhost:~# vi /etc/nginx/nginx.conf
    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    
    events {
            worker_connections 768;
            # multi_accept on;
    }
    
    http {
    
            ##
            # Basic Settings
            ##
    
            sendfile on;
            tcp_nopush on;
            tcp_nodelay on;
            keepalive_timeout 65;
            types_hash_max_size 2048;
            # server_tokens off;
    
            # server_names_hash_bucket_size 64;
            # server_name_in_redirect off;
    
            include /etc/nginx/mime.types;
            default_type application/octet-stream;
    
            ##
            # SSL Settings
            ##
    
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
            ssl_prefer_server_ciphers on;
    
            ##
            # Logging Settings
            ##
    
            access_log /var/log/nginx/access.log;
            error_log /var/log/nginx/error.log;
    
            ##
            # Gzip Settings
            ##
    
            gzip on;
            gzip_disable "msie6";
    
            # gzip_vary on;
            # gzip_proxied any;
            # gzip_comp_level 6;
            # gzip_buffers 16 8k;
            # gzip_http_version 1.1;
            # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
            ##
            # Virtual Host Configs
            ##
    
            include /etc/nginx/conf.d/*.conf;
            include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #       # See sample authentication script at:
    #       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    #
    #       # auth_http localhost/auth.php;
    #       # pop3_capabilities "TOP" "USER";
    #       # imap_capabilities "IMAP4rev1" "UIDPLUS";
    #
    #       server {
    #               listen     localhost:110;
    #               protocol   pop3;
    #               proxy      on;
    #       }
    #
    #       server {
    #               listen     localhost:143;
    #               protocol   imap;
    #               proxy      on;
    #       }
    #}
    

    重点是这个 include /etc/nginx/conf.d/.conf;include /etc/nginx/sites-enabled/;
    这样呢,就可以在conf.d文件夹下建立我们自己的配置了,下面是个栗子!

    root@localhost:~# cd /etc/nginx/conf.d/
    root@localhost:/etc/nginx/conf.d# ls
    blog.voidoop.com.conf  www.voidoop.com.conf
    

    我这里配置了两个域名的转发规则,以首页www.voidoop.com为例:

    server
    {
            listen 80;
            server_name www.voidoop.com;
            
            location /
            {
                    proxy_set_header Host $http_host;
                    proxy_set_header X-Forward-For $remote_addr;
                    proxy_pass http://www.voidoop.com:3000;
            }
    
            location ~ .*.(gif|jpg|js|css|html)$
            {
                    root /var/www/hello/public/;
                    expires 30d;
            }
    }
    
    

    因为 express的默认端口是3000,所以,不想去改变他,就用nginx转发。

    修改配置之后,重启nginx

    /etc/init.d/nginx restart
    

    最后叨叨location的匹配规则

    (1)= 前缀的指令严格匹配这个查询。如果找到,停止搜索。

    (2)剩下的常规字符串,最长的匹配优先使用。如果这个匹配使用 ^~ 前缀,搜索停止。

    (3)正则表达式,按配置文件里的顺序,第一个匹配的被使用。

    (4)如果第三步产生匹配,则使用这个结果。否则使用第二步的匹配结果。

    在location中可以使用常规字符串和正则表达式。
    
    如果使用正则表达式,你必须使用以下规则:
    
       (1)~* 前缀选择不区分大小写的匹配
    
       (2)~  选择区分大小写的匹配
    

    一切不注明转载源都是耍流氓: http://zhutty.cnblogs.com

  • 相关阅读:
    插入排序
    选择排序
    P1338 末日的传说 逆序数对
    P1582倒水 位运算
    P2158 [SDOI2008] (欧拉函数
    HDU 6274 二分+预处理(CCPC K题
    P1219 N皇后
    [USACO1.5] 回文质数
    Codeforces #123D: 后缀数组+单调栈
    单调栈 单调队列
  • 原文地址:https://www.cnblogs.com/zhutty/p/6184463.html
Copyright © 2011-2022 走看看