2026/3/1 14:57:25
网站建设
项目流程
淘宝网站制作多少钱,网站建设网页设计做网站,深圳品牌蛋糕店有哪些品牌排行,个人网站怎么填写文章目录
一、 Nginx 下载 1. 官网下载2. 其它渠道 二、 Nginx 安装三、 配置四、 验证五、 其它问题 1. 常用命令2. 跨域问题
软件 / 环境安装及配置目录
一、 Nginx 下载
1. 官网下载
安装地址#xff1a;https://nginx.org/en/download.html
打开浏览器输入网址 htt…文章目录一、 Nginx 下载1. 官网下载2. 其它渠道二、 Nginx 安装三、 配置四、 验证五、 其它问题1. 常用命令2. 跨域问题软件 / 环境安装及配置目录一、 Nginx 下载1. 官网下载安装地址https://nginx.org/en/download.html打开浏览器输入网址 https://nginx.org/en/download.html进入 Nginx 官网选择对应的版本下载推荐稳定版2. 其它渠道1百度网盘1.24.0 版本链接https://pan.baidu.com/s/16LfEdOTHwkCLQUD8Z488QQpwdeizj提取码eizj二、 Nginx 安装下载完成后将压缩包解压到本地即可三、 配置进入 Nginx 目录下conf文件夹下编辑nginx.conf文件根据自己需求进行配置配置文件默认内容参数解析#默认为1表示开启一个业务进程。根据服务器核数来配置一般1个核对应1个进程worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;events {#单个业务进程可接受连接数worker_connections 1024;}http {#引入http mime类型引入在conf文件下的mime.types文件,让浏览器知道识别文件后缀名后该如何展示include mime.types;#如果mime类型没匹配上默认使用二进制流的方式传输。default_type application/octet-stream;#使用高效网络传输也就是数据0拷贝直接传输数据。未开启sendfile sendfile on; #保持链接时间 keepalive_timeout 65; #vhost虚拟主机 server { #监听端口号 listen 80; #主机名域名 server_name localhost; #匹配路径url,样例:http://nginx.org/en/download.html location / { #文件根目录相对于nginx安装根目录路径 root html; #默认页名称访问先到访页面 index index.html index.htm; } #服务端报错后报错编码对应页面。样例:http://nginx.org/50x.html error_page 500 502 503 504 /50x.html; #报错后识别到域名后面跟了/50x.html则匹配到根目录root下的html文件夹 location /50x.html { root html; } }}搭建站点虚拟主机server {listen 80; # 浏览器访问端口号server_name font_server; # 浏览器访问域名charset utf-8; access_log logs/xx_domian.access.log access; # 路由 location / { root ./html; # 访问根目录 index index.html index.htm; # 入口文件 }}根据文件类型设置过期时间location ~.*.css$ {expires 1d;break;}location ~.*.js$ {expires 1d;break;}location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {access_log off;expires 15d; #保存15天break;}curl -x127.0.0.1:80 http://www.test.com/static/image/common/logo.png -I #测试图片的max-age禁止文件缓存location ~* .(js|css|png|jpg|gif)$ {add_header Cache-Control no-store;}防盗链location ~* .(gif|jpg|png)$ {# 只允许 192.168.0.1 请求资源valid_referers none blocked 192.168.0.1;if (KaTeX parse error: Expected }, got EOF at end of input: …rite ^/ http://host/logo.png;}}静态文件压缩server {# 开启gzip 压缩gzip on;# 设置gzip所需的http协议最低版本 HTTP/1.1, HTTP/1.0gzip_http_version 1.1;# 设置压缩级别压缩级别越高压缩时间越长 1-9gzip_comp_level 4;# 设置压缩的最小字节数 页面Content-Length获取gzip_min_length 1000;# 设置压缩文件的类型 text/html)gzip_types text/plain application/javascript text/css;}指定定错误页面根据状态码返回对于的错误页面error_page 500 502 503 504 /50x.html;location /50x.html {root /source/error_page;}四、 验证切换到 Nginx 安装目录下双击Nginx.exe启动 Nginx打开浏览器输入http://127.0.0.1/具体端口看个人配置默认配置文件端口80出现以下界面说明配置成功如果需要修改配置文件则需要重新启动 Nginx首先Ctrl Shift Esc打开任务管理器找个 Nginx 服务结束任务然后切换到 Nginx 安装目录下双击Nginx.exe启动 Nginx五、 其它问题1. 常用命令nginx -s stop # 快速关闭Nginx可能不保存相关信息并迅速终止Web服务。 nginx -s quit # 平稳关闭Nginx保存相关信息有安排的结束Web服务。 nginx -s reload # 因改变了Nginx相关配置需要重新加载配置而重载。 nginx -s reopen # 重新打开日志文件。 nginx -c filename # 为 Nginx 指定一个配置文件来代替缺省的。 nginx -t # 不运行而仅仅测试配置文件。Nginx将检查配置文件的语法的正确性并尝试打开配置文件中所引用到的文件。 nginx -V # 显示 nginx 的版本编译器版本和配置参数。 taskkill /f /t /im nginx.exe # 彻底关闭nginx关闭Nginx其他服务这样才能彻底关闭 nginx -s reload # 重新加载配置2. 跨域问题跨域的定义同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。通常不允许不同源间的读操作。同源的定义如果两个页面的协议端口如果有指定和域名都相同则两个页面具有相同的源。Nginx 解决跨域的原理例如前端 server 域名为http://font_server后端 server 域名为https://github.com现在 http://domain 对 http://font_server发起请求一定会出现跨域。只需要启动一个 Nginx 服务器将 server_name 设置为 font_server然后设置相应的 location 以拦截前端需要跨域的请求最后将请求代理回 github.com。配置如下## 配置反向代理的参数 server { listen 8080; server_name font_server ## 1. 用户访问 http://font_server则反向代理到 https://github.com location / { proxy_pass https://github.com; proxy_redirect off; proxy_set_header Host $host; # 传递域名 proxy_set_header X-Real-IP $remote_addr; # 传递IP proxy_set_header X-Scheme $scheme; # 传递协议 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }