Linux版本:CentOS 8.2
Nginx版本:1.18.0
1.在官方下载rpm包:Index of /packages/centos/。
2.下载好之后,将包上传到home目录下,然后使用yum安装:
yum install -y /home/nginx-1.18.0-1.el8.ngx.x86_64.rpm
安装好之后,一般如果你的80端口不被占用,那么就可以通过输入你的Linux系统的ip,打开nginx主页了,比如我的ip:http://192.168.208.100:80/,打开如下:
如果你打不开,先检查下是否启动了nginx,用systemctl start nginx尝试启动下,另外检查下你的防火墙是否做了配置,如果嫌麻烦,直接关掉防火墙。另外查看下80端口是否被占用,如果80端口占用了,就要改下配置文件了。
3.nginx的配置文件在”/etc/nginx/nginx.conf”中,这个是全局的配置文件,一般除了第一行的用户需要改一下,如果权限不足的话,其他的都不用改,这里我们为了方便,把用户由原来的nginx改为root:
另外一个配置文件是server的配置,在”/etc/nginx/conf.d/default.conf”中,如果修改端口的话,就修改这里的端口:
红色框起来的部分,是我做了修改的部分,其他的都保持默认即可。全部内容如下:
server {
#nginx监听的端口,默认是80,如果被占用,就修改为其他的,
#这里我改为9000
listen 9000;
server_name localhost;
#防止乱码,需要加上编码
charset utf-8;
#access_log /var/log/nginx/host.access.log main;
#路由规则
#如果想把nginx作为下载服务器,则改为系统目录地址
#比如下面这样,当访问主页时,打开的是本地的/home/nginx/download目录
location / {
root /home/nginx/download;
autoindex on; #开启索引功能
autoindex_exact_size off; #关闭计算文件确切大小(单位bytes),
#只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; #显示本机时间而非 GMT 时间
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
4.修改好配置文件后,创建/home/nginx/download目录。
5.重启nginx:systemctl restart nginx。使用http://192.168.208.100:9000/打开下载主页面,一般情况都会报403的错误,这个是因为权限的问题,首先这里我们修改了启动nginx的用户为root,root的最高权限账户,所以不存在用户权限的问题,那么这里的权限问题就是SELINUX导致的,把它禁用了就可以了。方法是修改配置文件”/etc/selinux/config”,如下:
禁用之后重启系统,然后首先启动nginx,再访问http://192.168.208.100:9000/,就可以查看可下载的文件了:
到这里,下载功能就完成了。
6.当需要配置多个访问路径的时候,则其他的路径要将root改为alias:
location /test {
alias /nginx/html/;#这里应该是alias,不再是root
index index.html;
}
7.配置接口转发,也就是我们所说的反向代理,现在当用户使用下面的地址访问我们的test接口的时候:
http://127.0.0.1/api/test
我们希望nginx转到下面的请求上去,同时进行路径替换,把api去掉:
http://127.0.0.1:8089/test
因为通常我们的接口服务一般较少用80端口,另外如果nginx和接口服务跑在同一台服务器上,那么80端口会被nginx占用,接口服务也无法使用80端口。要进行转发,配置方式如下:
location /api/ {
proxy_pass http://127.0.0.1:8089/;
}
这个时候,当你使用地址http://127.0.0.1/api/test 调用test接口的时候,nginx会自动给你转成http://127.0.0.1:8089/test 这个请求地址。
这个配置文件修改后,要重启nginx才能生效。
8.前面说的是在服务器上直接安装nginx,这里再提供一个使用docker安装nginx的方法Docker启动常用容器(redis、mysql、MongoDB等等)_dap769815768的博客-CSDN博客