搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Cpp五条
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
MySQL下载与安装详细教程(仅供参考)_mysql下载及安装教程
2
ubuntu系统实现远程控制_ubuntu server远程监控
3
C#编码规范_c# 代码规范
4
python入门中_
5
python_写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。_(+,-,*/)和两个整数python
6
python_matplotlib分别使用plot()和scatter()画散点图,以及如何改变点的大小_python scatter点的大小
7
java conversion_java.util.UnknownFormatConversionException: Conversion = ''';
8
git拉取hugging face代码失败:443_能访问huggingface但是拉代码时443了
9
统计挖掘那些事-与相关的故事_样本复相关系数,样本决定系数,简单相关系数,偏决定系数,偏相关系数
10
Linux中使用 ssh -T “git@gitee.com“ 连接git或者clone克隆报错: Permission denied (publickey). Linux配置git公钥无效问题_gitee 添加ssh 公匙 克隆失败
当前位置:
article
> 正文
Nginx基本服务与upstream配置详解_upstream.conf
作者:Cpp五条 | 2024-03-05 17:23:28
赞
踩
upstream.conf
Nginx
("engine x")是一个高性能的HTTP和反向代理服务器,在大负载的情况下表现十分优秀。本文简单介绍一下安装、web服务和反向代理服务配置方法。
1、安装Nginx
yum -y install pcre-devel zlib-devel openssl-devel openssl gxx make
# 下载目前的stable版
tar xvzf nginx-1.6.2.tar.gz
#nginx目录为/opt/nginx/1.6.2,使用Nginx用户来启动
#详细的编译配置信息请参考:
http://www.nginx.cn/install
./configure --prefix=/opt/nginx/1.6.2 --user=nginx --with-openssl=/usr/lib64/openssl
#编译安装
make -j && make install
#添加用户和组
groupadd nginx
useradd -g nginx nginx
echo "nginx" | passwd --stdin nginx
#创建符号链接
ln -s /opt/nginx/1.6.2/sbin/nginx /usr/local/bin/nginx
#启动Nginx
nginx
#检查端口80是否被监听,该端口在/opt/nginx/1.6.2/conf/nginx.conf 中已经有一个默认的server中定义
lsof -i :80
COMMAND
PID
USER
FD
TYPE
DEVICE
SIZE
/
OFF
NODE
NAME
nginx
15050
root
6u
IPv4
95462
0t0
TCP
*
:
http
(
LISTEN
)
nginx
15051
nginx
6u
IPv4
95462
0t0
TCP
*
:
http
(
LISTEN
)
#可以直接发送sigkill信号给Nginx主进程
pkill nginx
2、nginx常用命令
1)启动时指定配置文件
nginx -c /opt/nginx/1.6.2/conf/nginx.conf
2)运行时重载配置文件
当nginx主进程接收到重载配置文件的命令后,它会先检查新配置文件的合法性,然后将该配置文件应用。然后,主进程会启动一个新的工作进程,并发送关闭请求给旧的
工作进程。旧的工作进程收到关闭请求后,会停止接受新的连接,并继续服务旧的连接请求直到所有的请求完成后才退出。
nginx -s reload
3)运行时快速关闭nginx
nginx -s stop
4)运行时优雅的关闭nginx
所有的工作进程会停止接受新的连接,并继续服务旧的连接请求直到所有的请求完成后才退出。
nginx -s quit
5)运行时重新打开日志文件
nginx -s reopen
6)查看nginx版本
nginx -v
nginx version: nginx/1.6.2
3、配置静态内容
在debugo03和debugo04上,打开配置文件,修改下面的内容
worker_processes 1;
events {
worker_connections 1024;
}
http {
......
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html index.htm;
}
}
其中,启动了一个worker进程,一般情况下纯nginx的服务器可以将这个值配置为1。在作为web服务器的情况下,nginx的最多链接数为worker_connections*worder_processes。
listen监听本地所有地址端口80,也可以指定listen 192.168.111.10:80监听某一地址上。
server_name指令主要用于配置基于名称的虚拟主机。支持通配符*(例如;*.domain.com)或正则表达式(例:~^(?.+)\.domain\.com$)。参考
关于nginx的server_name
location / 指的是URL中“/”路径为下面的配置内容。包括URL位置的root目录,并在该目录下依次寻找index.html inde.htm 两个索引文件。一般的静态站点可以配置多个location,例如:
server {
location / {
root /data/www;
}
location /images/ {
root /data/images;
}
}
这里我们在debugo03和debugo04中"/"的index.html中配置一个简单的文本,仅包含主机名,用后面的负载均衡测试。
4、配置nginx负载均衡
debugo01和debugo02作为两台负载均衡服务器,debugo03和debugo04作为两台web server。下面打开配置文件
vim nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
keepalive_timeout 65;
include upstream.conf;
}
vim upstream.conf
upstream debugo_servers {
server debugo03:80 weight=5;
server debugo04:80 weight=10;
}
server {
listen
debugo01:80;
location / {
proxy_pass http://debugo_servers;
}
}
测试如下,验证了轮询算法+权重的有效性。可以根据机器性能和模板设置不同的权重。
root@debugo01 ~]# curl debugo01
debugo04
[root@debugo01 ~]# curl debugo01
debugo03
[root@debugo01 ~]# curl debugo01
debugo04
[root@debugo01 ~]# curl debugo01
debugo04
[root@debugo01 ~]# curl debugo01
debugo03
[root@debugo01 ~]# curl debugo01
debugo04
[root@debugo01 ~]# curl debugo01
debugo04
[root@debugo01 ~]# curl debugo01
debugo03
除了轮询和权重轮询以外,还包含下面三种算法:
IP Hash: 需要在upstream的配置中知道“ip_hash;”,每个请求按访问的ip的hash结果分配,这样每个放歌固定访问一个后端服务器,可以解决session的问题。
fair:需要在upstream的配置中指定"fair;",按后端服务器的响应时间来分配请求,响应时间短的优先分配。
URL hash:需要在upstream中配置指定:"hash $request_uri;hash_method crc32;"按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
另外,在niginx中可以为每个backend server 指定最大的重试次数和重试时间间隔。所有使用的关键字是max_fails和fail_timeout。而backup值的是仅当其他serverdown或者忙时才会请求这台server。例如:
upstream debugo_servers{
server debugo01:80 weight=5 backup;
server debugo02:80 weight=10 max_fails=3 fail_timeout=30s;
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Cpp五条/article/detail/192659
推荐阅读
article
centos7
上搭建
http
服务器
以及
设置
目录访问_
welcome
.
conf
...
步骤:安装
http
d服务sudo yum install
http
dApache 的所有配置文件都位于 /etc/htt...
赞
踩
article
httpd
与
tomcat
组合配置
注意事项
_
tomcat
httpd
.
conf
...
第一步:先是 安装apache系列yum -y install
httpd
.x86_64 //+++++++++++++...
赞
踩
article
Nginx
配置文件
、
多
web
站点
、应用场景_
nginx
多
站点
图片...
Nginx
是一款轻量级的 HTTP 服务器 ( 或叫
web
服务器 ),采用事件驱动的异步非阻塞处理方式框架,这让其具...
赞
踩
article
nginx
配置
Emqx
websocket
ws转wss_
emqx
ws...
location /mqtt {proxy_redirect off;proxy_pass http://10.1.2....
赞
踩
article
Docker
第二章:
Docker
应用部署(
mysql
、
tomcat
、
nginx
、redis)_d...
目录
Docker
应用部署一、部署MySQL二、部署Tomcat三、部署Nginx四、部署Redis
Docker
应用部...
赞
踩
article
strongSwan
:
ipsec
.
conf
–
IPsec
的
配置
和
连接
...
配置
文件描述可选的
ipsec
.
conf
文件指定了
strongSwan
IPsec
子系统的大多数
配置
和控制信息。 主要的例...
赞
踩
article
>/et" href="/w/Monodyee/article/detail/177164" target="_blank">【Linux】配置动态链接库的几种方法_
echo
"/
usr
/
local
/ssl/
lib
">>/et...
>/et" href="/w/Monodyee/article/detail/177164" target="_blank">参考:https://blog.51cto.com/10941585/1915979error whilel oadin...
赞
踩
article
Linux
Nginx
SSL
证书
配置
正确
,
扔展示不安全...
解析等设置所以需要找到生效的
证书
是哪里的。我就将这个文件名直接修改后重启了。访问返回的
证书
是过期
,
本地访问是经过了。都被...
赞
踩
article
ingress
-
nginx
实现
内部
局域网
的
url
转发
配置_
ingress
转发
内部
接口...
ingress
-
nginx
实现
内部
局域网
的
url
转发
配置实现目的:在 192.168.4.4 物理服务器上部署 WEB...
赞
踩
article
nginx
配置
外网
域名
跳转
到内网地址加
端口
的教程_
nginx
绑定
域名
后
跳转
端口
...
nginx
配置
外网
域名
跳转
到内网地址加
端口
的教程_
nginx
绑定
域名
后
跳转
端口
nginx
绑定
域名
后
跳转
端口
...
赞
踩
article
nginx
同一个
ip
根据
不同
域名
转发到
不同
的
内网
ip
_
nginx
不同
域名
指向
不同
内网
...
#####################changed 2010-08-11##########user ...
赞
踩
article
Nginx的Permission
denied
错误_/
etc
/
nginx
/
nginx
.
conf
: p...
原因:通过ps命令查看
nginx
进程为用户
nginx
,而uwsgi进程为用户root。估计是权限不一致导致
nginx
无法...
赞
踩
article
Nginx
最大
连接
数配置
,
可以解决
nginx
拒绝
连接
问题_
nginx
连接
拒绝...
公司项目运行一段时间就发现网页打不开
,
重启
nginx
就好了
,
经过排查是因为
nginx
的
最大
连接
数限制导致的技术博客。_n...
赞
踩
article
解决Nginx出现
forbidden
(13: Perm
is
sion
denied
)报错的三种方法_/...
1.是否缺失
index
.
html
index
.htmserver { l
is
ten 80; server_name l...
赞
踩
article
使用
Systemctl
启动
nginx
失败,端口权限不足问题解决方案_
set
nginx
system...
使用
nginx
直接启动成功,使用
systemctl
启动
nginx
服务时报错。_
set
nginx
systemctl
f...
赞
踩
article
Nginx
启动成功
无法
访问
网页
_
nginx
配置
好拒绝
访问
...
_
nginx
配置
好拒绝
访问
nginx
配置
好拒绝
访问
查看是否有
Nginx
进程 p...
赞
踩
article
nginx
permission denied_
premissin
deined
nginx
...
访问报403,看日志 permission denied,资源的访问权限明明有,这时候需要修改配置文件
nginx
.cnf...
赞
踩
article
nginx
403错误_
directory
index
of "/app/web/
test
_
brix
...
标题问题如题:403:权限不足三个解决方案:1.提升账号权限2.更改启动
nginx
的账号,这个最好改,找到
nginx
.c...
赞
踩
article
failed
(13: Permission
denied
) 解决
Nginx
由于权限导致大
文件
不能上...
以上是关于
Nginx
由于权限导致大
文件
不能上传的问题的解决方法和初步分析。希望本文对您有所帮助。在使用
Nginx
作为代理...
赞
踩
article
【
nginx
】(13: Permission
denied
)
while
connecting
to...
nginx
请求转发被selinux拦截问题处理_failed (13: permission
denied
)
while
...
赞
踩
相关标签
nginx
运维
服务器
docker
操作系统
云服务
分布式
分布式存储
strongswan
ipsec.conf
jvm
java
后端
职场和发展
spring
面试
运维开发
centos
linux