zoukankan      html  css  js  c++  java
  • Centos LNMP 安装日记

    环境介绍

    [root@k8s-master ~]# cat /etc/redhat-release 
    CentOS Linux release 7.7.1908 (Core)
    
    mysql8.0.12_bin_centos7.tar.gz
    nginx-1.16.1.tar.gz
    php-7.4.1.tar.gz
    
    

    环境初始化

    #需要的包下载
    cd /usr/local/src/
    wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz
    wget --no-check-certificate https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
    wget --no-check-certificate http://nginx.org/download/nginx-1.16.1.tar.gz
    wget --no-check-certificate https://www.php.net/distributions/php-7.4.1.tar.gz
    wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2t.tar.gz
    tar xzf pcre-8.43.tar.gz  
    tar xzf php-7.4.1.tar.gz  
    tar xzf zlib-1.2.11.tar.gz
    tar xzf nginx-1.16.1.tar.gz
    tar xzf openssl-1.0.2u.tar.gz
    
    #依赖安装
    [root@k8s-master ~]# yum -y install epel-release dnf
    [root@k8s-master ~]# dnf -y install gcc gcc-c++ autoconf automake wget vim make cmake openssl-devel bison-devel ncurses-devel libsqlite3x-devel oniguruma-devel curl-devel libxml2-devel libjpeg-devel libpng-devel freetype-devel libicu-devel libsodium-devel gd-devel
    
    #新建用户组、用户
    [root@k8s-master src]# groupadd nginx
    [root@k8s-master src]# groupadd mysql
    [root@k8s-master src]# useradd nginx -M -g nginx -s /sbin/nologin
    [root@k8s-master src]# useradd mysql -M -g mysql -s /sbin/nologin
    
    #编译安装Nginx(按需添加更多功能模块)
    cd /usr/local/src/nginx-1.16.1
    ./configure 
    --prefix=/usr/local/nginx 
    --user=nginx --group=nginx 
    --with-http_realip_module 
    --with-http_flv_module 
    --with-http_image_filter_module 
    --with-http_gzip_static_module 
    --with-http_gunzip_module 
    --with-http_stub_status_module 
    --with-http_ssl_module 
    --with-threads 
    --with-file-aio 
    --with-pcre=/usr/local/src/pcre-8.43 
    --with-openssl=/usr/local/src/openssl-1.0.2t 
    --with-zlib=/usr/local/src/zlib-1.2.11 
    --with-http_dav_module 
    --with-http_stub_status_module 
    --with-http_addition_module 
    --with-http_sub_module 
    --with-http_flv_module 
    --with-http_mp4_module 
    --with-http_v2_module
    
    make; make install 
    
    vim /etc/init.d/nginx
    #!/bin/bash    
         #chkconfig: 2345 55 25    
        
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin    
    NAME=nginx    
    NGINX_BIN=/usr/local/nginx/sbin/$NAME    
    CONFIGFILE=/usr/local/nginx/conf/$NAME.conf    
    PIDFILE=/usr/local/nginx/logs/$NAME.pid  
      
    if [ -s /bin/ss ]; then    
        StatBin=/bin/ss    
    else    
        StatBin=/bin/netstat    
    fi    
        
        
    case "$1" in    
        start)    
            echo -n "Starting $NAME... "    
        
            if $StatBin -tnpl | grep -q nginx;then    
                echo "$NAME (pid `pidof $NAME`) already running."    
                exit 1    
            fi    
        
            $NGINX_BIN -c $CONFIGFILE    
        
            if [ "$?" != 0 ] ; then    
                echo " failed"    
                exit 1    
            else    
                echo " done"    
            fi    
            ;;    
        
        stop)    
            echo -n "Stoping $NAME... "    
        
            if ! $StatBin -tnpl | grep -q nginx; then    
                echo "$NAME is not running."    
                exit 1    
            fi    
        
            $NGINX_BIN -s stop    
        
            if [ "$?" != 0 ] ; then    
                echo " failed. Use force-quit"    
                exit 1    
            else    
                echo " done"    
            fi    
            ;;    
        
        status)    
            if $StatBin -tnpl | grep -q nginx; then    
                PID=`pidof nginx`    
                echo "$NAME (pid $PID) is running..."    
            else    
                echo "$NAME is stopped."    
                exit 0    
            fi    
            ;;    
        
        force-quit|kill)    
            echo -n "Terminating $NAME... "    
        
            if ! $StatBin -tnpl | grep -q nginx; then    
                echo "$NAME is is stopped."    
                exit 1    
            fi    
        
            kill `pidof $NAME`    
        
            if [ "$?" != 0 ] ; then    
                echo " failed"    
                exit 1    
            else    
                echo " done"    
            fi    
            ;;    
        
        restart)    
            $0 stop    
            sleep 1    
            $0 start    
            ;;    
        
        reload)    
            echo -n "Reload service $NAME... "    
        
            if $StatBin -tnpl | grep -q nginx; then    
                $NGINX_BIN -s reload    
                echo " done"    
            else    
                echo "$NAME is not running, can't reload."    
                exit 1    
            fi    
            ;;    
        
        configtest)    
            echo -n "Test $NAME configure files... "    
        
            $NGINX_BIN -t    
            ;;    
        
        *)    
            echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"    
            exit 1    
            ;;
    esac
    
    chmod +x /etc/init.d/nginx ;chkconfig --add nginx; chkconfig nginx on ; service nginx start 
    
    #安装mysql
    1) 首先删除系统默认或之前可能安装的其他版本的mysql
    for i in $(rpm -qa|grep mysql);do rpm -e $i --nodeps;done
    rm -rf /var/lib/mysql && rm -rf /etc/my.cnf
       
    2) 安装Mysql8.0 的yum资源库
    [root@DB-node01 ~]# yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
       
    3) 安装Mysql8.0
    [root@DB-node01 ~]# yum install mysql-community-server
       
    启动MySQL服务器和MySQL的自动启动
    [root@DB-node01 ~]# systemctl start mysqld
    [root@DB-node01 ~]# systemctl enable mysqld
       
    4) 使用默认密码初次登录后, 必须要重置密码
       
    查看默认密码, 如下默认密码为"e53xDalx.*dE"
    grep 'temporary password' /var/log/mysqld.log
    [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: e53xDalx.*dE
       
    mysql_secure_installation  #按提示输入log文件中的密码
    mysql -uroot -p   #验证登录
    
    #安装php
    tar -zxvf php-7.4.1.tar.gz
    cd php-7.4.1
    dnf -y install libxml2 libxml2-devel bzip2 bzip2-devel libxslt-devel libpng-devel
    ./configure 
    --prefix=/usr/local/php 
    --with-config-file-path=/etc 
    --with-fpm-user=nginx 
    --with-fpm-group=nginx 
    --with-curl 
    --with-freetype-dir 
    --enable-gd 
    --with-gettext 
    --with-iconv-dir 
    --with-kerberos 
    --with-libdir=lib64 
    --with-libxml-dir 
    --with-mysqli 
    --with-openssl 
    --with-pcre-regex 
    --with-pdo-mysql 
    --with-pdo-sqlite 
    --with-pear 
    --with-png-dir 
    --with-jpeg-dir 
    --with-xmlrpc 
    --with-xsl 
    --with-zlib 
    --with-bz2 
    --with-mhash 
    --enable-fpm 
    --enable-bcmath 
    --enable-libxml 
    --enable-inline-optimization 
    --enable-mbregex 
    --enable-mbstring 
    --enable-opcache 
    --enable-pcntl 
    --enable-shmop 
    --enable-soap 
    --enable-sockets 
    --enable-sysvsem 
    --enable-sysvshm 
    --enable-xml 
    --enable-zip 
    --enable-fpm
    
    make ;make install
    cp /usr/local/src/php-7.4.1/php.ini-production /usr/local/php/etc/php.ini
    cp /usr/local/src/php-7.4.1/sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    cp /usr/local/src/php-7.4.1/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm
    chkconfig --add php-fpm
    chkconfig php-fpm on
    mkdir /usr/local/nginx/html/test  
    chown -R nginx:nginx /usr/local/nginx/html/test  
    echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/test/index.php
    #配置nginx 代理php
    mv /usr/local/nginx/conf/nginx.conf  /usr/local/nginx/conf/nginx.conf.bak
    vim /usr/local/nginx/conf/nginx.conf
    #运行用户    
    user nginx nginx;    
        
    #工作进程    
    worker_processes auto;    
        
    #最大文件打开数    
    worker_rlimit_nofile 51200;    
        
    #进程PID    
    pid /usr/local/nginx/logs/nginx.pid;    
        
    #错误日志    
    error_log /usr/local/nginx/logs/error.log crit;    
        
    #工作模式及连接数上限    
    events {    
      use epoll;    
      worker_connections 51200;    
      multi_accept on;    
    }    
        
    http {    
        
      #加载虚拟主机配置文件    
      include /usr/local/nginx/vhost/*.conf;    
        
      #文件扩展名与类型映射表    
      include mime.types;    
        
      #默认文件类型    
      default_type application/octet-stream;    
        
      #请求缓存    
      server_names_hash_bucket_size 512;    
      client_header_buffer_size 32k;    
      large_client_header_buffers 4 32k;    
      client_max_body_size 50m;    
        
      #高效传输模式    
      sendfile on;    
      tcp_nopush on;    
      tcp_nodelay on;    
        
      #连接超时时间    
      keepalive_timeout 60;    
        
      #FastCGI优化    
      fastcgi_connect_timeout 300;    
      fastcgi_send_timeout 300;    
      fastcgi_read_timeout 300;    
      fastcgi_buffer_size 64k;    
      fastcgi_buffers 4 64k;    
      fastcgi_busy_buffers_size 128k;    
      fastcgi_temp_file_write_size 256k;    
      fastcgi_intercept_errors on;    
        
      #开启GZIP压缩功能    
      gzip on;    
      gzip_min_length 1k;    
      gzip_buffers 4 16k;    
      gzip_http_version 1.1;    
      gzip_comp_level 2;    
      gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;    
      gzip_vary on;    
      gzip_proxied expired no-cache no-store private auth;    
      gzip_disable "MSIE [1-6].";    
        
      #限制访问频率    
      #limit_conn_zone $binary_remote_addr zone=perip:10m;    
      #limit_conn_zone $server_name zone=perserver:10m;  
      
       log_format  json  '{"@timestamp":"$time_iso8601",'
                          '"@version":"1",'
                          '"client":"$remote_addr",'
                          '"url":"$uri",'
                          '"status":"$status",'
                          '"domain":"$host",'
                          '"host":"$server_addr",'
                          '"size":"$body_bytes_sent",'
                          '"responsentime":"$request_time",'
                          '"referer":"$http_referer",'
                          '"useragent":"$http_user_agent",'
                          '"upstreampstatus":"$upstream_status",'
                          '"upstreamaddr":"$upstream_addr",'
                          '"upstreamresponsetime":"$upstream_response_time"'
                           '}';
    
      access_log  logs/access_json.log  json; 
      #隐藏响应header和错误通知中的版本号    
      server_tokens off;    
      #access_log off;    
    }
    #配置php 虚拟站点
    mkdir /usr/local/nginx/vhost
    vim /usr/local/nginx/vhost/test.conf
    server {    
        
      #监听端口    
      listen 80;    
        
      #网站根目录    
      root /usr/local/nginx/html/test/;    
        
      #虚拟主机名称    
      server_name 192.168.168.21;    
        
      #网站主页排序    
      index index.php index.html index.htm default.php default.htm default.html;    
        
      #网站访问、错误日志    
      access_log /usr/local/nginx/logs/test.access.log;    
      error_log /usr/local/nginx/logs/test.error.log;    
        
      #流量限制(网站最大并发数500|单IP访问最大并发数50|每个请求流量上限1024KB)    
      #limit_conn perserver 500;    
      #limit_conn perip 50;    
      #limit_rate 1024k;    
          
      #配置错误页面    
      #error_page 404 /404.html;    
      #error_page 500 502 503 504 /50x.html;    
        
      #禁止访问文件和目录    
      location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md) {    
        return 404;    
      }    
        
      #配置资源防盗链    
      location ~ .*.(jpg|jpeg|gif|png|js|css)$ {    
        expires 30d;    
        access_log /dev/null;    
        valid_referers none blocked 192.168.168.21;    
        if ($invalid_referer) {    
          return 404;    
        }    
      }    
        
      #配置图片资源缓存时间    
      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;    
      }    
        
      #解析PHP    
      location ~* .php$ {    
        fastcgi_index index.php;    
        fastcgi_pass 127.0.0.1:9000;    
        include fastcgi_params;    
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;    
      }
    }
    #启动服务测试
    service nginx start
    service mysqld start
    service php-fpm start
    
    

    nginx 编译参数介绍

    --prefix= 指向安装目录
    --sbin-path= 指定执行程序文件存放位置
    --modules-path= 指定第三方模块的存放路径
    --conf-path= 指定配置文件存放位置
    --error-log-path= 指定错误日志存放位置
    --pid-path= 指定pid文件存放位置
    --lock-path= 指定lock文件存放位置
    --user= 指定程序运行时的非特权用户
    --group= 指定程序运行时的非特权用户组
    --builddir= 指向编译目录
    --with-rtsig_module 启用rtsig模块支持
    --with-select_module 启用select模块支持, 一种轮询处理方式, 不推荐在高并发环境中使用, 禁用:--without-select_module
    --with-poll_module 启用poll模块支持,功能与select相同, 不推荐在高并发环境中使用
    --with-threads 启用thread pool支持
    --with-file-aio 启用file aio支持
    --with-http_ssl_module 启用https支持
    --with-http_v2_module 启用ngx_http_v2_module支持
    --with-ipv6 启用ipv6支持
    --with-http_realip_module 允许从请求报文头中更改客户端的ip地址, 默认为关
    --with-http_addition_module 启用ngix_http_additon_mdoule支持(作为一个输出过滤器, 分部分响应请求)
    --with -http_xslt_module 启用ngx_http_xslt_module支持, 过滤转换XML请求 
    --with-http_image_filter_mdoule 启用ngx_http_image_filter_module支持, 传输JPEGGIFPNG图片的一个过滤器, 默认不启用, 需要安装gd库
    --with-http_geoip_module 启用ngx_http_geoip_module支持, 用于创建基于MaxMind GeoIP二进制文件相配的客户端IP地址的ngx_http_geoip_module变量
    --with-http_sub_module 启用ngx_http_sub_module支持, 允许用一些其他文本替换nginx响应中的一些文本
    --with-http_dav_module 启用ngx_http_dav_module支持, 增加PUT、DELETE、MKCOL创建集合, COPY和MOVE方法, 默认为关闭, 需要编译开启
    --with-http_flv_module 启用ngx_http_flv_module支持, 提供寻求内存使用基于时间的偏移量文件
    --with-http_mp4_module 启用ngx_http_mp4_module支持, 启用对mp4类视频文件的支持
    --with-http_gzip_static_module 启用ngx_http_gzip_static_module支持, 支持在线实时压缩输出数据流
    --with-http_random_index_module 启用ngx_http_random_index_module支持, 从目录中随机挑选一个目录索引
    --with-http_secure_link_module 启用ngx_http_secure_link_module支持, 计算和检查要求所需的安全链接网址
    --with-http_degradation_module 启用ngx_http_degradation_module 支持允许在内存不足的情况下返回204或444代码
    --with-http_stub_status_module 启用ngx_http_stub_status_module 支持查看nginx的状态页
    --without-http_charset_module 禁用ngx_http_charset_module这一模块, 可以进行字符集间的转换, 从其它字符转换成UTF-8或者从UTF8转换成其它字符. 它只能从服务器到客户端方向, 只有一个字节的字符可以转换
    --without-http_gzip_module 禁用ngx_http_gzip_module支持, 同--with-http_gzip_static_module功能一样
    --without-http_ssi_module 禁用ngx_http_ssi_module支持, 提供了一个在输入端处理服务器包含文件(SSI) 的过滤器
    --without-http_userid_module 禁用ngx_http_userid_module支持, 该模块用来确定客户端后续请求的cookies
    --without-http_access_module 禁用ngx_http_access_module支持, 提供了基于主机ip地址的访问控制功能
    --without-http_auth_basic_module 禁用ngx_http_auth_basic_module支持, 可以使用用户名和密码认证的方式来对站点或部分内容进行认证
    --without-http_autoindex_module 禁用ngx_http_authindex_module, 该模块用于在ngx_http_index_module模块没有找到索引文件时发出请求, 用于自动生成目录列表
    --without-http_geo_module 禁用ngx_http_geo_module支持, 这个模块用于创建依赖于客户端ip的变量
    --without-http_map_module 禁用ngx_http_map_module支持, 使用任意的键、值 对设置配置变量
    --without-http_split_clients_module 禁用ngx_http_split_clients_module支持, 该模块用于基于用户ip地址、报头、cookies划分用户
    --without-http_referer_module 禁用ngx_http_referer_modlue支持, 该模块用来过滤请求, 报头中Referer值不正确的请求
    --without-http_rewrite_module 禁用ngx_http_rewrite_module支持. 该模块允许使用正则表达式改变URI, 并且根据变量来转向以及选择配置. 如果在server级别设置该选项, 那么将在location之前生效, 但如果location中还有更进一步的重写规则, location部分的规则依然会被执行. 如果这个URI重写是因为location部分的规则造成的, 那么location部分会再次被执行作为新的URI, 这个循环会被执行10次, 最后返回一个500错误. 
    --without-http_proxy_module 禁用ngx_http_proxy_module支持, http代理功能
    --without-http_fastcgi_module 禁用ngx_http_fastcgi_module支持, 该模块允许nginx与fastcgi进程交互, 并通过传递参数来控制fastcgi进程工作
    --without-http_uwsgi_module 禁用ngx_http_uwsgi_module支持, 该模块用来使用uwsgi协议, uwsgi服务器相关
    --without-http_scgi_module 禁用ngx_http_scgi_module支持, 类似于fastcgi, 也是应用程序与http服务的接口标准
    --without-http_memcached_module 禁用ngx_http_memcached支持, 用来提供简单的缓存, 提高系统效率
    --without-http_limit_conn_module 禁用ngx_http_limit_conn_module支持, 该模块可以根据条件进行会话的并发连接数进行限制
    --without-http_limit_req_module 禁用ngx_limit_req_module支持, 该模块可以实现对于一个地址进行请求数量的限制
    --without-http_empty_gif_module 禁用ngx_http_empty_gif_module支持, 该模块在内存中常驻了一个1*1的透明gif图像, 可以被非常快速的调用
    --without-http_browser_module 禁用ngx_http_browser_mdoule支持, 创建依赖于请求报头的值, 如果浏览器为modern, 则$modern_browser等于modern_browser_value的值;如果浏览器为old, 则$ancient_browser等于$ancient_browser_value指令分配的值;如果浏览器为MSIE, 则$msie等于1
    --without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module支持, 该模块用于简单的负载均衡
    --with-http_perl_module 启用ngx_http_perl_module支持, 它使nginx可以直接使用perl或通过ssi调用perl
    --with-perl_modules_path= 设定perl模块路径
    --with-perl= 设定perl库文件路径
    --http-log-path= 设定access log路径
    --http-client-body-temp-path= 设定http客户端请求临时文件路径
    --http-proxy-temp-path= 设定http代理临时文件路径
    --http-fastcgi-temp-path= 设定http fastcgi临时文件路径
    --http-uwsgi-temp-path= 设定http scgi临时文件路径
    --http-scgi-temp-path= 设定http scgi临时文件路径
    --without-http 禁用http server功能
    --without-http-cache 禁用http cache功能
    --with-mail 启用POP3、IMAP4、SMTP代理模块
    --with-mail_ssl_module 启用ngx_mail_ssl_module支持
    --without-mail_pop3_module 禁用pop3协议
    --without-mail_iamp_module 禁用iamp协议
    --without-mail_smtp_module 禁用smtp协议
    --with-google_perftools_module 启用ngx_google_perftools_mdoule支持, 调试用, 可以用来分析程序性能瓶颈
    --with-cpp_test_module 启用ngx_cpp_test_module支持
    --add-module= 指定外部模块路径, 启用对外部模块的支持
    --with-cc= 指向C编译器路径
    --with-cpp= 指向C预处理路径
    --with-cc-opt= 设置C编译器参数, 指定--with-cc-opt="-I /usr/lcal/include", 如果使用select()函数, 还需要同时指定文件描述符数量--with-cc-opt="-D FD_SETSIZE=2048" (PCRE库) 
    --with-ld-opt= 设置连接文件参数, 需要指定--with-ld-opt="-L /usr/local/lib" (PCRE库) 
    --with-cpu-opt= 指定编译的CPU类型, 如pentium,pentiumpro,...amd64,ppc64...
    --without-pcre 禁用pcre库
    --with-pcre 启用pcre库
    --with-pcre= 指向pcre库文件目录
    --with-pcre-opt= 在编译时为pcre库设置附加参数
    --with-md5= 指向md5库文件目录
    --with-md5-opt= 编译时为md5库设置附加参数
    --with-md5-asm 使用md5汇编源
    --with-sha1= 指向sha1库文件目录
    --with-sha1-opt= 编译时为sha1库设置附加参数
    --with-sha1-asm 使用sha1汇编源
    --with-zlib= 指向zlib库文件目录
    --with-zlib-opt= 在编译时为zlib设置附加参数
    --with-zlib-asm= 为指定的CPU使用汇编源进行优化
    --with-libatomic 为原子内存的更新操作的实现提供一个架构
    --with-libatomic= 指向libatomic_ops的安装目录
    --with-openssl= 指向openssl安装目录
    --with-openssl-opt= 在编译时为openssl设置附加参数
    --with-debug 启用debug日志
    

    nginx 配置文件介绍

    Nginx 配置文件主要分成3部分:main(全局设置)events 块、HTTP 块(http全局块,全局server 块 ,location 块)

    worker_processes  1; 
    #全局块 从配置文件开始到 events 块之间的内容,主要会设置一些影响nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等
    events {
        worker_connections  1024;
    }
    #events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
    
    
    http {
    #这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。  需要注意的是:http 块也可以包括 http全局块、server 块。
        include       mime.types;
        default_type  application/octet-stream;
    
    	# http 全局块 http全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
        sendfile        on;
    
        keepalive_timeout  65;
        
        server {
        #全局 server 块 最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            #一个 server 块可以配置多个 location 块。  这块的主要作用是基于 Nginx  服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行
    
        }
    
    }
    
  • 相关阅读:
    jQuery获取鼠标事件源
    windows中MongoDB安装和环境搭建
    前端获取后台数据的方法:ajax、axios、fetch
    浅谈:easy-mock的使用
    安全篇-AES/RSA加密机制
    PHP开发api接口安全验证
    Ajax简单实现文件异步上传的多种方法
    PHP7有没有你们说的那么牛逼
    基于laravel框架构建最小内容管理系统
    redis用法分析
  • 原文地址:https://www.cnblogs.com/haozheyu/p/13094657.html
Copyright © 2011-2022 走看看