当前位置:首页 > 教程 > 正文内容

nginx路径变量(nginx 修改路径)

2023-05-23 16:30:06教程1

nginx 修改路径

LNMP相关软件安装目录 Nginx 目录: /usr/local/nginx/ MySQL 目录 : /usr/local/mysql/ MySQL数据库所在目录:/usr/local/mysql/var/ PHP目录 : /usr/local/php/

nginx 路径

一、 nginx 简单使用说明:

1.登录官网 http

2.解压所下载文件到指定的盘符

3.启动服务器,步骤如下:

打开 dos 命令窗口,切换到 nginx 的目录下。

输入启动命令:start nginx

打开浏览器输入网址:http://localhost:80(80 端口可以省略)

二、nginx 运行原理:

Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx 配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。

nginx指定路径

Nginx在不依赖第三方模块的前期下,主要的功能有:

①、正向代理

正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买vpn。并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置),浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。

②、反向代理

客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。

③、负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.

④、动静分离

在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指HTML,JavaScript,CSS,img等文件。一般来说,都需要将动态资源和静态资源分开,将静态资源部署在Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间。

nginx 路径替换

nginx代理出现403异常,可通过以下几个原因排查:

一、由于启动用户和nginx工作用户不一致所致

1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

命令:vi conf/nginx.conf

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

1. server {

2. listen 80;

3. server_name localhost;

4. index index.php index.html;

5. root /data/www/;

6. }

如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

1. chmod -R 777 /data

2. chmod -R 777 /data/www/

四、SELinux设置为开启状态(enabled)的原因。

4.1、查看当前selinux的状态。

1. /usr/sbin/sestatus

4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

1. vi /etc/selinux/config

2. #SELINUX=enforcing

3. SELINUX=disabled

4.3、重启生效。reboot。

1. reboot

nginx路径配置

部署静态资源的方式:

代码 「同步」 到服务器上

执行 `./manage.py collectstatic`

配置 Nginx path 到 对应的静态资源目录上。

题主可以贴下你的 Nginx 配置。另,线上不要用 Django 来 Serve 静态资源。

nginx 路径匹配规则

添加网站是通过编辑nginx.conf文件来实现的

首先打开nginx.conf

在http块中添加一个server块

在server块中配置站点的信息

使用listen指令配置nginx监听的端口,默认为80

使用server_name指令配置nginx站点的主机名(域名),用来区分请求是要发给哪个站点的

使用root设置站点的根目录

配置完后保存并使用nginx-sreload重新加载配置文件即可

nginx 路径重写

https配置步骤:

1、申请SSL证书;

2、在Nginx服务器上面安装SSL证书:

(1)将证书文件(.crt文件)放到指定目录下,例如:/usr/local/nginx/conf/cert

(2)将私钥文件(.key文件)放到指定目录,例如/usr/local/nginx/conf/ssl

(3)若为CA机构签发证书,需要将中间证书文件放到指定目录下,例如/usr/local/nginx/conf/certs

3、修改Nginx配置文件:

(1)打开/etc/nginx/nginx.conf文件

(2)在http部分增加如下配置

ssl on;

ssl_certificate /usr/local/nginx/conf/cert/xxx.crt;

ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

(3)如果是CA证书,还需要增加配置

ssl_client_certificate /usr/local/nginx/conf/certs/xxx.crt;

4、重新加载Nginx配置文件:nginx -s reload

5、测试配置是否正确:

(1)curl -k https://www.xxx.com (测试https是否正常)

(2)openssl s_client -connect www.xxx.com:443 (检查ssl证书是否安装正确)

nginx改变路径url

在 nginx 中,可以使用 "server_name" 和 "rewrite" 指令来实现域名跳转。

首先,需要在 nginx 配置文件中定义一个虚拟主机,并在其中使用 "server_name" 指令指定要跳转的域名。然后,使用 "rewrite" 指令重写请求的 URL,将其重定向到指定的地址。

例如,如果要将请求 "example.com" 重定向到 "www.example.com",可以使用以下配置:

server {

listen 80;

server_name example.com;

rewrite ^ http://www.example.com$request_uri? permanent;

}

这样当输入域名 example.com 后会直接跳转到 www.example.com 这个地址。

nginx 变量

第一种:Nginx自己的错误页面

Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?

看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。

server {

listen 80;

server_name www.test.com;

root /var/www/test;

index index.html index.htm;

location / {

}

# 定义错误页面码,如果出现相应的错误页面码,转发到那里。

error_page 404 403 500 502 503 504 /404.html;

# 承接上面的location。

location = /404.html {

# 放错误页面的目录路径。

root /usr/share/nginx/html;

}

}

第二种:反向代理的错误页面

如果后台Tomcat处理报错抛出404,想把这个状态叫Nginx反馈给客户端或者重定向到某个连接,配置如下:

upstream www {

server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s;

ip_hash;

}

server {

listen 80;

server_name www.test.com;

root /var/www/test;

index index.html index.htm;

location / {

if ($request_uri ~* ‘^/$’) {

rewrite .* http://www.test.com/index.html redirect;

}

# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面

proxy_intercept_errors on;

proxy_pass http://www;

proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;

}

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

}

第三种:Nginx解析php代码的错误页面

如果后端是php解析的,需要加一个变量

在http段中加一个变量

fastcgi_intercept_errors on就可以了。

指定一个错误页面:

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

指定一个url地址:

error_page 404 /404.html;

error_page 404 = http://www.test.com/error.html;

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98858819.html