Linux安装nginx1.13.7
Linux环境:centos7.6
一、安装nginx
1. 下载地址http://nginx.org/download/nginx-1.13.7.tar.gz
2. 一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
3. 上传安装包
cd /usr/local/tmp
tar -zxvf nginx-1.13.7.tar.gz
mv /usr/local/tmp/nginx-1.13.7 /usr/local/service/
4. 安装,考虑到后续安装ssl证书 添加两个模块
cd /usr/local/service/nginx-1.13.7
./configure --with-http_stub_status_module --with-http_ssl_module
// 执行make命令
make
// 执行make install命令
make install
5. 可以修改配置文件,端口
/usr/local/nginx/conf/nginx.conf
6. 进入安装目录启动
cd /usr/local/nginx/sbin
./nginx 启动
./nginx -s reload # 重启
./nginx -s stop # 停止
7. ip:port访问
二、nginx.conf常用配置解析
第一部分:全局块
# nginx指定用户。安全问题,建议用nobody,不要用root。
user root;
# 工作进程数。根据硬件调整,通常等于CPU数量或者2倍于CPU
worker_processes 4;
第二部分:events块
events {
# 表示每个 work process 支持的最大连接数为 1024。【理论上每台nginx服务器的最大连接数为。worker_processes*worker_connections】
worker_connections 1024;
}
第三部分:http块
http {
# 当web服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的MIME配置文件中找到对应的MIME Type,
# 再根据MIME Type设置HTTP Response的Content-Type,然后浏览器根据Content-Type的值处理文件。
include mime.types;
# 客户端请求头部的缓冲区大小
client_header_buffer_size 16k;
# 客户请求头缓冲大小。nginx默认会用client_header_buffer_size,如果header过大,它会使用large_client_header_buffers来读取。
large_client_header_buffers 4 128k;
# 设定通过nginx上传文件的大小
client_max_body_size 150M;
# 一个请求完成之后还要保持连接多久, 默认为0,表示完成请求后直接关闭连接
keepalive_timeout 180;
# gzip config,开启或者关闭gzip模块
gzip on;
# 设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取
gzip_min_length 1k;
# gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)
gzip_comp_level 9;
gzip_buffers 4 16k;
# 匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
# 1. 轮询(默认),每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
# 2. weight,指定权重,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
# 3. 下面配置示例。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
# 4. 其他,可以混合使用。这里只介绍常用到的。
upstream myserver {
server 127.0.0.1:8027;
server 127.0.0.1:8028;
server 127.0.0.1:8029;
}
server {
# 监听端口
listen 80;
# 配置访问域名
server_name 192.168.161.xxx;
# 默认请求,一般本地启动使用
location / {
# 定义服务器的默认网站根目录位置
root html;
# 默认访问首页索引文件的名称
index index.html index.htm;
# 反向代理路径
proxy_pass http://myserver;
# 以下三行,目的是将代理服务器收到的用户的信息传到真实服务器上
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $scheme;
}
# 根据请求路径代理访问
location /api {
# 定义服务器的默认网站根目录位置
root html;
# 默认访问首页索引文件的名称
index index.html index.htm;
# 反向代理路径
proxy_pass http://myserver;
# 以下三行,目的是将代理服务器收到的用户的信息传到真实服务器上
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $scheme;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现