Nginx的安装和配置

Nginx的安装
下载地址:

Index of /download/

解压缩Nginx的tar包

tar -zxvf nginx-1.16.1.tar.gz
进入解压目录:cd nginx-1.16.1

然后运行

./configure

默认的安装路径是/usr/local/nginx,可以通过 ./configure --prefix=/home/wjz  来指定安装目录

然后运行编译:

make && make install

在configure的时候没有指定目录时,Nginx的默认安装目录是/usr/local/nginx

在/usr/local/nginx/sbin目录下检验Nginx启动是否有问题,在该目录下

./nginx -t

报错若显示如下,需要修改conf文件

修改/usr/local/nginx/conf/nginx.conf

因为我用root用户启动nginx,所以我修改这里的用户为root;

修改完成后再次检验没问题

启动nginx

./nginx

显示如下界面,说明启动成功

Nginx的配置
打开nginx.conf 配置文件,前两行是:
#user  nobody; #指定用户,可以改为 user root;
worker_processes  1;

要了解的是,在Nginx运行的时候,会启动两种进程,一种是主进程master process,负责监控端口,协调工作进程的工作状态,分配工作任务;一种是工作进程worker process,负责进行任务处理。

这里默认worker_processes 进程是1,可以根据服务器性能情况进行修改。

nginx配置默认首页(index.html index.htm)
 在安装Nginx的服务器上设置默认首页的目录,默认目录就是Nginx的安装目录(相对路径),即/usr/local/nginx/html

这里设置为/root/html目录(绝对路径),在该目录下

编辑index.html文件为

<h1>web1.test.com</h1>

编辑后,Nginx重新加载配置文件

 ./nginx -s reload

查看页面显示为

 Location配置规则

不带符号,要求必须以指定模式开始

server {
    listen 80;
    server_name 127.0.0.1;
    location /abc{
        default_type text/plain;
        return 200 "access success";
    }
}
以下访问都是正确的
http://192.168.200.133/abc
http://192.168.200.133/abc?p1=TOM
http://192.168.200.133/abc/
http://192.168.200.133/abcdef
= : 用于不包含正则表达式的uri前,必须与指定的模式精确匹配

server {
    listen 80;
    server_name 127.0.0.1;
    location =/abc{
        default_type text/plain;
        return 200 "access success";
    }
}
可以匹配到
http://192.168.200.133/abc
http://192.168.200.133/abc?p1=TOM
匹配不到
http://192.168.200.133/abc/
http://192.168.200.133/abcdef
~ : 用于表示当前uri中包含了正则表达式,并且区分大小写

~*: 用于表示当前uri中包含了正则表达式,并且不区分大小写

换句话说,如果uri包含了正则表达式,需要用上述两个符合来标识

Nginx反向代理设置
 只需要在location处增加:proxy_pass http://IP地址:端口号或者域名就可,如下

server_name是服务器本身的ip地址或者name

编辑后,Nginx重新加载配置文件

 ./nginx -s reload

测试成功!

Nginx负载均衡设置
Nginx有多种负载均衡设置,本文章的需求是有两个IP地址,ip1和ip2,实现ip1是主要使用的,ip2作为备用,当ip1:8080端口无法访问的时候,会访问ip2:8080

编辑后,Nginx重新加载配置文件

 ./nginx -s reload

测试成功!

另外一些常见的命令
./nginx -h 查看nginx所有的命令参数

options    说明
-?,-h    this help
-v     显示nginx的版本号
-V    显示nginx的版本号和编译信息
-t    检查nginx配置文件的正确性
-T    检查nginx配置文件的正确定及配置文件的详细配置内容
-q    suppress non-error messages during configuration testing
-s signal    向主进程发送信号,如:./nginx -s reload 配置文件变化后重新加载配置文件并重启nginx服务
-p prefix    设置nginx的安装路径
-c filename    设置nginx配置文件的路径
-g directives    设置配置文件之外的全局指令
nginx安全漏洞(CVE-2021-23017)修复
需要注意的是,如果Nginx -V 显示configure arguments,什么也没有就是没有加参数

重启的时候直接用Nginx -s reload 即可

报错:
报错1:upstream timed out (110: Connection timed out) while connecting to upstream,

查看网络是否可以ping通

telnet对应的访问端口是否通

避免web文件信息泄露
避免web上访问文件下载文件的信息泄露,可以对访问的类型文件限制

#避免文件信息泄露,限制以下类型文件不能访问下载
        location ~* \.(docx|txt|tar|csv|doc|log)$ {
            deny all;
        }

nginx升级查看这篇文章:

nginx 版本升级_猎人在吃肉的博客-CSDN博客_nginx升级

参考文章:nginx安全漏洞(CVE-2021-23017)修复_皮皮虾不皮呀的博客-CSDN博客_nginx 安全漏洞 

nginx -s reload 与 service nginx restart 的区别_Roc.Chang的博客-CSDN博客

systemctl命令_怎么把mysqld.service服务加入到systemctl_weixin_39758229的博客-CSDN博客

参考文章:

Nginx安装:

解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法

nginx 手动安装 及依赖包安装(pcre+zlib+openssl)

centos7 下安装 nginx-1.12.2

Nginx配置:

Linux之Nginx使用

Nginx配置upstream实现负载均衡

nginx 常用指令配置总结_逆风飞翔的小叔的博客-CSDN博客_nginx配置命令

nginx的location配置详解:location匹配规则
————————————————
版权声明:本文为CSDN博主「大宇进阶之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wjzholmes/article/details/115906300

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值