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;
}
}
整理不易,欢迎点赞,收藏,转发,关注我每天分享一点运维小知识。
本文暂时没有评论,来添加一个吧(●'◡'●)