nginx一些基本操作 - litong534/web GitHub Wiki
安装
这部分就不用说了吧
配置
1.普通服务
nginx是使用代码块进行服务定义的
server {
listen 8080;
server_name localhost;
location / {
root /data/data/com.termux/files/usr/share/nginx/html;
index index.html index.htm;
}
}
如果需要配置多个端口的话,需要开多个server代码块,每个端口的路由请求使用location代码块进行配置
location代码块中的root指定了绝对路径的根目录,index指定了默认访问的页面文件,当访问这个地址时默认响应的页面文件就是这个
2.代理
server {
listen 8000;
server_name localhost;
location / {
root /data/data/com.termux/files/usr/share/nginx/html;
index lietome/lietome.html;
proxy_pass http://localhost:8080/;
proxy_redirect http://localhost:8080/ http://$host:$server_port/;
}
location /images {
alias /data/data/com.termux/files/usr/share/nginx/html/lietome/img/;
}
}
我们这里定义了8000端口的服务,假如我们的请求希望从8080获取但是不希望暴露给用户,我们可以配置代理,使用proxy_pass指定代理的端口,这样在8000路径下的请求都会被代理到8080上,但是如果我们不配置proxy_redirect的话,响应的url会变成8080,所以我们使用nginx的内部变量,将地址改写为用户请求的地址
3.alias与root的区别
location ~ ^/weblogs/ {
root /data/weblogs/www.ttlsa.com;
autoindex on;
auth_basic"Restricted";
auth_basic_user_file passwd/weblogs;
}
如果一个请求的URI是/weblogs/httplogs/www.ttlsa.com-access.log时,web服务器将会返回服务器上的/data/weblogs/www.ttlsa.com/weblogs/httplogs/www.ttlsa.com-access.log的文件。
root会根据完整的URI请求来映射,也就是/path/uri。[/info]
因此,前面的请求映射为path/weblogs/httplogs/www.ttlsa.com-access.log。
location ^~ /binapp/ {
limit_conn limit 4;
limit_rate 200k;
internal;
alias /data/statics/bin/apps/;
}
alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。如果一个请求的URI是/binapp/a.ttlsa.com/favicon时,web服务器将会返回服务器上的/data/statics/bin/apps/a.ttlsa.com/favicon.jgp的文件。
1)使用alias时,目录名后面一定要加"/"。
-
alias可以指定任何名称。
-
alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
-
alias只能位于location块中
4.静态文件夹
location /images {
alias /data/data/com.termux/files/usr/share/nginx/html/lietome/img/;
}
这里我们配置了/images的路径,并且使用alias指定了绝对路径的文件夹地址,这样访问8000端口(去掉代理)/img/33.gif的图片会被服务器指定为该路径文件夹下的33.gif图片。