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 bakend {
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;
}
}
}