备案用什么网站名称好,大连市营商环境建设局门户网站,php网站开发程序填空题,网站建设费的摊销期文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本#xff0c;指定编译路径为/usr/local/nginx 5.编译并安装6.… 文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本指定编译路径为/usr/local/nginx 5.编译并安装6.删除 /usr/local/nginx1.20.2 因为已经编译完成了所以就没用了7.进入/usr/local/nginx输入./sbin/nginx -t测试nginx是否正常8.指定配置文件启动Nginx1.启动2.查看Nginx进程3.开启80端口1.服务器开启2.安全组开启 4.访问 9.Nginx 配置文件详解 3.Nginx案例部署前端静态页面1.编写一个html文件2.**配置 Nginx**1.编辑配置文件2.新增一个server这样就相当于http://localhost:9091/下面部署了一个/usr/local/nginx/html/test.html3.检查配置文件格式4.重启Nginx使配置生效 3.编写 /usr/local/nginx/html/test.html4.开放9091端口测试访问1.服务器开放2.安全组开放3.测试访问成功 1.下载压缩包
1.官网下载
https://nginx.org/en/download.html
2.找到1.20.2 3.百度网盘 2.Linux安装
1.搭建gcc环境
yum -y install gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel2.上传到 /usr/local/nginx1.20.2
mkdir /usr/local/nginx1.20.2cd /usr/local/nginx1.20.23.解压
1.解压到当前目录
tar -zxvf nginx-1.20.2.tar.gz 2.删除压缩包
rm -f nginx-1.20.2.tar.gz 4.配置Nginx的编译路径
1.进入nginx-1.20.2
cd nginx-1.20.2/2.执行内部的脚本指定编译路径为/usr/local/nginx
./configure --prefix/usr/local/nginx5.编译并安装
make make install6.删除 /usr/local/nginx1.20.2 因为已经编译完成了所以就没用了
rm -rf /usr/local/nginx1.20.27.进入/usr/local/nginx输入./sbin/nginx -t测试nginx是否正常
cd /usr/local/nginx./sbin/nginx -t8.指定配置文件启动Nginx
1.启动
./sbin/nginx -c conf/nginx.conf2.查看Nginx进程 3.开启80端口
1.服务器开启
systemctl start firewalld firewall-cmd --permanent --add-port80/tcp firewall-cmd --reload firewall-cmd --query-port80/tcp2.安全组开启 4.访问
http://152.136.40.209:809.Nginx 配置文件详解
#Nginx用户及组用户 组。window下不指定
#user nobody;#工作进程数目。根据硬件调整通常等于CPU数量或者2倍于CPU。
worker_processes 1;#错误日志存放路径。
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid(进程标识符)存放路径
pid /usr/local/nginx/logs/nginx.pid;#一个进程能打开的文件描述符最大值理论上该值因该是最多能打开的文件数除以进程数。
#但是由于nginx负载并不是完全均衡的所以这个值最好等于最多能打开的文件数。
#LINUX系统可以执行 sysctl -a | grep fs.file 可以看到linux文件描述符。
worker_rlimit_nofile 65535;events {#使用epoll的I/O 模型。linux建议epollFreeBSD建议采用kqueuewindow下不指定。use epoll;#单个进程最大连接数最大连接数连接数*进程数worker_connections 1024;#客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小来设置#一般一个请求头的大小不会超过1k不过由于一般系统分页都要大于1k所以这里设置为分页大小。#client_header_buffer_size 4k;
}http {#设定mime类型,类型由mime.type文件定义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;#用了log_format指令设置了日志格式之后需要用access_log指令指定日志文件的存放路径#记录了哪些用户哪些页面以及用户浏览器、ip和其他的访问信息#access_log logs/host.access.log main;#access_log logs/host.access.404.log log404;#服务器名字的hash表大小server_names_hash_bucket_size 128;#客户端请求头缓冲大小。#nginx默认会用client_header_buffer_size这个buffer来读取header值#如果header过大它会使用large_client_header_buffers来读取。#如果设置过小HTTP头/Cookie过大 会报400 错误 nginx 400 bad request#如果超过buffer就会报HTTP 414错误(URI Too Long)#nginx接受最长的HTTP头部大小必须比其中一个buffer大#否则就会报400的HTTP错误(Bad Request)#client_header_buffer_size 32k;#large_client_header_buffers 4 32k;#隐藏ngnix版本号#server_tokens off;#忽略不合法的请求头#ignore_invalid_headers on;#让 nginx 在处理自己内部重定向时不默认使用 server_name设置中的第一个域名#server_name_in_redirect off;#客户端请求体的大小#client_body_buffer_size 8m;#开启文件传输一般应用都应设置为on若是有下载的应用则可以设置成off来平衡网络I/O和磁盘的I/O来降低系统负载sendfile on;#告诉nginx在一个数据包里发送所有头文件而不一个接一个的发送。#tcp_nopush on;#tcp_nodelay off 会增加通信的延时但是会提高带宽利用率。在高延时、数据量大的通信场景中应该会有不错的效果#tcp_nodelay on会增加小包的数量但是可以提高响应速度。在及时性高的通信场景中应该会有不错的效果tcp_nodelay on;#长连接超时时间单位是秒keepalive_timeout 65;#gzip模块设置使用 gzip 压缩可以降低网站带宽消耗同时提升访问速度。#gzip on; #开启gzip#gzip_min_length 1k; #最小压缩大小#gzip_buffers 4 16k; #压缩缓冲区#gzip_http_version 1.0; #压缩版本#gzip_comp_level 2; #压缩等级#gzip_types text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xmlrss;#压缩类型#负载均衡#max_fails为允许请求失败的次数默认为1#weight为轮询权重根据不同的权重分配可以用来平衡服务器的访问率。# upstream myServer{# server 192.168.247.129:8080 max_fails3 weight2;# server 192.168.247.129:8081 max_fails3 weight4; # }#server {# listen 80;# # #IP/域名可以有多个用空格隔开# server_name 192.168.247.129;# #server_name www.test.com;## #charset koi8-r;## #access_log logs/host.access.log main;# # #反向代理配置# #将所有请求为www.test.com的请求全部转发到upstream中定义的目标服务器中。# location / {# # #此处配置的域名必须与upstream的域名一致才能转发。# proxy_pass http://myServer;# #proxy_pass http://192.168.247.129:8080;# # proxy_connect_timeout 20; #nginx跟后端服务器连接超时时间(代理连接超时)# # #client_max_body_size 10m; #允许客户端请求的最大单文件字节数# #client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数# #proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)# #proxy_read_timeout 300; #连接成功后后端服务器响应时间(代理接收超时)# #proxy_buffer_size 4k; #设置代理服务器nginx保存用户头信息的缓冲区大小# #proxy_buffers 4 32k; #proxy_buffers缓冲区网页平均在32k以下的话这样设置# #proxy_busy_buffers_size 64k; #高负荷下缓冲大小proxy_buffers*2# #proxy_temp_file_write_size 64k; #设定缓存文件夹大小大于这个值将从upstream服务器传 # # root html;# # #定义首页索引文件的名称# index index.html index.htm;# }## #动静分离 静态资源走linux 动态资源走tomcat# # 注意 /source/image/下面寻找资源# location /image/ {# root /source/;# autoindex on;# } ### # 出现50x错误时使用/50x.html页返回给客户端# error_page 500 502 503 504 /50x.html;# location /50x.html {# root html;# }#}#下面是配置生产环境中既支持HTTP又支持HTTPS,保证用户在浏览器中输入HTTP也能正常访问# SSL证书 配置 ssl_certificate cert/yphtoy.com.pem; #加密证书路径ssl_certificate_key cert/yphtoy.com.key; #加密私钥路径ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #加密协议ssl_session_cache shared:SSL:1m; #加密访问缓存设置,可以大大提高访问速度ssl_session_timeout 10m; #加密访问缓存过期时间ssl_ciphers HIGH:!aNULL:!MD5; #加密算法ssl_prefer_server_ciphers on; #是否由服务器决定采用哪种加密算法# 负载均衡upstream api_upstream{server 127.0.0.1:8080 max_fails3 weight1;server 127.0.0.1:8081 max_fails3 weight1;}#api 接口(兼容HTTP)server{listen 80;server_name api.test.com;# 301重定向跳转到HTTPS接口return 301 https://$server_name$request_uri;error_page 500 502 503 504 /50x.html;location /50x.html {root html;}}#api 接口(兼容HTTPS)server{listen 443 ssl;server_name api.test.com;location / {root html;index index.html index.htm;proxy_pass http://api_upstream;#语法 proxy_cookie_path oldpath replacepath;#oldpath就是你要替换的路径 replacepath 就是要替换的值#作用同一个web服务器下面多个应用之间能获取到cookieproxy_cookie_path /api/ /;#服务端接收的请求头Cooke值不变proxy_set_header Cookie $http_cookie;}}#管理后台端(兼容HTTP)server{listen 80;server_name manage.test.com;# 301重定向跳转到HTTPS接口return 301 https://$server_name/$request_uri;error_page 500 502 503 504 /50x.html;location /50x.html{root html }}#管理后台端(兼容HTTPS)server{listen 443 ssl;server_name manage.test.com;location / {root /home/test/web/distindex /index.html;#语法try_files 【$uri】 【 $uri/】 【参数】#当用户请求https://manage.test.com/login时#一.如果配置了上面的默认index,会依次请求#1./home/test/web/dist/login 查找有没有login这个文件没有的话#2./home/test/web/dist/index.html 有就直接返回#二.如果没有配置了上面的默认index或者配置了没有找到对应的资源,会依次请求#1./home/test/web/dist/login 查找有没有login这个文件没有的话#2./home/test/web/dist/login/ 查找有没有login这个目录没有的话#3.请求https://manage.test.com/index.html nginx内部做了一个子请求#三.总的来说,index的优先级比try_files高,请求会先去找index配置,这里最后一个参数必须存在try_files $uri $uri/ /index.html; #解决跨域问题#允许跨域请求地址(*表示全部,但是无法满足带cookie请求,因为cookie只能在当前域请求)add_header Access-Control-Allow-Origin $http_origin;#允许接收cookie和发送cookieadd_header Access-Control-Allow-Credentials true;#允许请求的方法add_header Access-Control-Allow-Methods GET,POST,DELETE,PUT,OPTIONS;#允许请求头Content-Type:请求数据/媒体类型 x-requested-with:判断请求是异步还是同步 自定义header 比如 tokenadd_header Access-Control-Allow-Headers $http_access_control_request_headers;#浏览器缓存请求头信息,1800秒内,只会有1次请求不会出现OPTIONS预请求,节约资源#add_header Access-Control-Max-Age 1800;if ($request_method OPTIONS) {return 204;}#服务端HttpServletRequest可以获得用户的真实ipproxy_set_header X-Real-IP $remote_addr;#服务端HttpServletRequest可以获得用户的真实ip和经过的每一层代理服务器的ipproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#服务端接收的请求头Host值不变proxy_set_header Host $http_host;proxy_set_header X-Nginx-Proxy true;}}
}3.Nginx案例部署前端静态页面
1.编写一个html文件
!DOCTYPE html
html langen
headmeta charsetUTF-8titleMy Nginx Test/title
/head
bodyh1Welcome to Nginx on localhost:9091!/h1
/body
/html2.配置 Nginx
1.编辑配置文件
vim /usr/local/nginx/conf/nginx.conf2.新增一个server这样就相当于http://localhost:9091/下面部署了一个/usr/local/nginx/html/test.html server {listen 9091;server_name localhost;location / {root /usr/local/nginx/html; # 静态文件根目录index test.html; # 默认首页文件try_files $uri /test.html; # 如果访问的文件不存在加载 test.html}error_page 404 /404.html; # 可选配置404页面}3.检查配置文件格式
/usr/local/nginx/sbin/nginx -t4.重启Nginx使配置生效
/usr/local/nginx/sbin/nginx -s reload3.编写 /usr/local/nginx/html/test.html
vim /usr/local/nginx/html/test.html4.开放9091端口测试访问
1.服务器开放
systemctl start firewalld firewall-cmd --permanent --add-port9091/tcp firewall-cmd --reload firewall-cmd --query-port9091/tcp2.安全组开放 3.测试访问成功
http://152.136.40.209:9091/