网站首页 > 技术教程 正文
nginx安装及配置,在工作我们经常用到的反向代理负载均衡工具,我总结了一些工具中常用的nginx安装方式和配置,分享给大家。
安装方式一
- 安装编译环境和pcre和openssl库。Nginx依赖于gcc的编译环境,并且http模块需要使用pcre解析正则表达式,同时ssl功能需要openssl库支持,所以需要先安装它们。
sudo apt-get update
sudo apt-get install build-essential libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev
2.下载稳定版本的Nginx。
wget http://nginx.org/download/nginx-1.18.tar.gz
tar -zxvf nginx-1.18.tar.gz
cd nginx-1.18
3.配置Nginx。可以根据需要进行配置,比如指定安装路径、开启SSL等。
./configure --prefix=/usr/local/nginx --with-http_ssl_module
4.编译并安装Nginx。
make
sudo make install
5.启动Nginx。
sudo /usr/local/nginx/sbin/nginx
6.访问测试页面
http://ip:80
安装方式二
docker安装nginx的命令:
- 下载Nginx镜像:
docker pull nginx
- 运行Nginx容器并挂载日志目录
docker run -d --name nginx -v /host/logs/logs:/var/log/nginx -p 80:80 nginx
安装方式三
k8s安装配置nginx的命令:
1.创建一个nginx的Deployment:
kubectl create deployment nginx --image=nginx
2.创建一个nginx的Service
kubectl expose deployment nginx --port 80 --type LoadBalancer
3.查看nginx的相关资源
kubectl get deployment,svc,pod
4.在浏览器中访问nginx:
http://ip:80
nginx配置优化
- 限制访问速率。可以使用limit_req指令控制客户端请求的速率,避免被恶意攻击。
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location / {
limit_req zone=one burst=5;
}
}
2.访问日志定时切割。可以使用logrotate工具对Nginx访问日志进行定时切割,避免日志文件过大。
/var/log/nginx/access.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
}
3.使用upstream{}块优化反向代理,提高性能。
upstream backend_server {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
}
server {
location / {
proxy_pass http://backend_server;
}
}
4.配置SSL证书
listen 443 ssl;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/cert.key;
5.调整缓冲区大小。
client_body_buffer_size 10K;
client_header_buffer_size 1k;
6.控制缓存,加快页面加载速度。
proxy_cache_path /var/nginx/cache levels=1:2 keys_zone=my_cache:10m inactive=60m;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend_server;
}
}
7.移除nginx默认服务。可以使用server_tokens指令关闭默认服务,提高安全性。
server_tokens off;
8.Nginx反向代理配置:
location / {
proxy_pass http://localhost:8080;
}
9.nginx均衡配置代理
Nginx负载均衡配置代码:
# 定义后端服务器
upstream backend {
server 192.168.1.2:8090;
server 192.168.1.3:8090;
}
# 定义虚拟主机和反向代理
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://代理地址;
}
}
10.nginx作为静态文件服务来加速网站的访问速度,下面是nginx静态文件代理配置的示例代码:
server {
listen 80;
server_name example.com;
# 静态文件服务配置
location /static/ {
root /var/text;
expires 7d;
}
# 反向代理配置
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
整理不易,欢迎点赞,收藏,转发,关注我每天分享一点运维小知识。
猜你喜欢
- 2024-10-13 Azure云服务器上安装NGINX指南(azure服务器使用教程)
- 2024-09-30 三分钟了解Nginx的安装与使用(nginx1.12安装)
- 2024-09-30 Nginx学习_第一期_安装及安装问题解决
- 2024-09-30 Nginx的五种基础用法及安装,学会日常应用无忧
- 2024-09-30 Django Nginx+uwsgi 安装配置(django nginx部署)
- 2024-09-30 Nginx的安装部署,并使用工具在线自动生成配置文件
- 2024-09-30 Nginx在安装完成后:应该怎么配置(nginx安装命令)
- 2024-09-30 LNMP环境之nginx安装与配置(nginx模块安装)
- 2024-09-30 Nginx 安装配置介绍(nginx安装及配置教程)
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)