搜索

nginx的启动,停止,重载,开机自启动,指定配置文件常用操作.

//nginx的启动:
nginx start
//nginx的关闭:
nginx-s stop
//nginx的配置重载:
nginx-s reload
//指定nginx的配置文件位置:
nginx -c /etc/nginx.conf

http(80端口)配置示例如下:
注意:
示例下方写的是我的域名,默认初始是localhost,可以通过购买的服务器公网IP去访问
如果配置了域名,需要在域名提供商那里加入解析记录(国内域名需备案,国外域名免备案)

#user  nobody;

#nginx进程数,建议设置为等于CPU总核心数
worker_processes  1;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#进程文件
#pid        logs/nginx.pid;

#工作模式与连接数上限
events {
    #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
   #use epoll;
    #单个进程最大连接数(最大连接数=连接数*进程数)
    worker_connections  1024;
}

#设定http服务器
http {
    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压缩功能
    #gzip  on;
    #当配置多个server节点时,默认server names的缓存区大小就不够了,需要手动设置大一点
    server_names_hash_bucket_size 512;
    #server表示虚拟主机可以理解为一个站点,可以配置多个server节点搭建多个站点
    #每一个请求进来确定使用哪个server由server_name确定
    server {
        #监听端口
        listen       80;
        #域名可以有多个,用空格隔开(默认为localhost,可以用公网IP访问)
        server_name  liukaiming.com;
        #编码格式,避免url参数乱码
        charset utf-8;
        #默认主页
        index index.php index.html index.htm default.php default.htm default.html;

        #站点根目录,可以是相对路径,也可以使绝对路径
        root /www/git; 
       
        #location用来匹配同一域名下多个URI的访问规则
        #比如动态资源如何跳转,静态资源如何跳转等
        #location后面跟着的/代表匹配规则

        #如下方:禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
        {
          return 404;
        }

        #如下方,设置ThinkPHP 伪静态
        location / {
      if (!-e $request_filename){
        rewrite  ^(.*)$  /index.php?s=$1  last;   break;
      }
        }
        
        #php加上这一块,支持pathinfo
        location ~ [^/]\.php(/|$) {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          try_files $fastcgi_script_name =404;
          set $path_info $fastcgi_path_info;
          fastcgi_param PATH_INFO $path_info;
          fastcgi_pass unix:/dev/shm/php-cgi.sock;
          fastcgi_index index.php;
          include fastcgi.conf;
        }
   
        #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
        #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;
        #}
       
        #静态资源的处理
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
          expires      30d;
          error_log off;
          access_log /dev/null;
        }
    
        location ~ .*\.(js|css)?$
        {
          expires      12h;
          error_log off;
          access_log /dev/null; 
        }

       #运行日志和错误日志输出
       access_log  /www/log/liukaiming.com.log;
       error_log  /www/logs/liukaiming.com.error.log;

    }      
}

http域名重定向到https域名示例如下:

server {
   listen 80 default_server;
   listen [::]:80 default_server;
   server_name _;

   # 通过使用永久重定向到HTTPS站点的主页来阻止深度链接
   return 301 https://$host;

   # 或者,将所有HTTP链接重定向到匹配的HTTPS页面
   # return 301 https://$host$request_uri;
}

https(443端口)配置示例如下:
注意:
1.某些服务器供应商(如:阿里云,华为云)那里没有开放443端口,需要到服务器供应商那里的安全组规则开放443端口才能访问
2.https需要域名证书,可以去阿里云申请免费的单域名证书,也可以通过我的文章https://liukaiming.com/175.html去获取配置永久的域名证书.
3.配置证书的同时不要忘记在域名提供商那里加入域名解析.

#user  nobody;

#nginx进程数,建议设置为等于CPU总核心数
worker_processes  1;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#进程文件
#pid        logs/nginx.pid;

#工作模式与连接数上限
events {
    #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
   #use epoll;
    #单个进程最大连接数(最大连接数=连接数*进程数)
    worker_connections  1024;
}

#设定http服务器
http {
    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压缩功能
    #gzip  on;
    #当配置多个server节点时,默认server names的缓存区大小就不够了,需要手动设置大一点
    server_names_hash_bucket_size 512;
    #server表示虚拟主机可以理解为一个站点,可以配置多个server节点搭建多个站点
    #每一个请求进来确定使用哪个server由server_name确定
    server {
        #监听端口
        listen 443 ssl http2;
        #域名可以有多个
        server_name  liukaiming.com;
        #编码格式,避免url参数乱码
        charset utf-8;
        #默认主页
        index index.php index.html index.htm default.php default.htm default.html;

        #站点根目录,可以是相对路径,也可以使绝对路径
        root /www/git; 

        #https端口需要ssl域名证书验证
        
        #这是是放置证书的路径-----
        ssl_certificate /root/liukaiming.com.cer;
        ssl_certificate_key /root/liukaiming.com.key;
        #-----这是是放置证书的路径

        
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        error_page 497  https://$host$request_uri;

        #location用来匹配同一域名下多个URI的访问规则
        #比如动态资源如何跳转,静态资源如何跳转等
        #location后面跟着的/代表匹配规则

        #如下方:禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
        {
          return 404;
        }

        #如下方,设置ThinkPHP 伪静态
        location / {
      if (!-e $request_filename){
        rewrite  ^(.*)$  /index.php?s=$1  last;   break;
      }
        }
        
        #php加上这一块,支持pathinfo
        location ~ [^/]\.php(/|$) {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          try_files $fastcgi_script_name =404;
          set $path_info $fastcgi_path_info;
          fastcgi_param PATH_INFO $path_info;
          fastcgi_pass unix:/dev/shm/php-cgi.sock;
          fastcgi_index index.php;
          include fastcgi.conf;
        }
   
        #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
        #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;
        #}
       
        #静态资源的处理
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
          expires      30d;
          error_log off;
          access_log /dev/null;
        }
    
        location ~ .*\.(js|css)?$
        {
          expires      12h;
          error_log off;
          access_log /dev/null; 
        }

       #运行日志和错误日志输出
       access_log  /www/log/liukaiming.com.log;
       error_log  /www/logs/liukaiming.com.error.log;

    }      
}

版权属于:admin
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0
查看目录

目录

来自 《linux环境下Nginx的配置及使用(http 80配置和https 443配置)》
评论

博主很懒,啥都没有