基本配置 学习笔记"/>
Nginx在ubuntu16.04中安装以及基本配置 学习笔记
安装参考/
安装gcc g++的依赖库
apt-get install build-essential
apt-get install libtool
安装pcre依赖库
apt-get update
apt-get install libpcre3 libpcre3-dev
安装zlib依赖库
// 注意lib后面是阿拉伯数字1,不是字母l
apt-get install zlib1g-dev
安装ssl依赖库
apt-get install openssl
安装nginx
// 下载自己需要的版本
wget .11.3.tar.gz
// 解压
tar -zxvf nginx-1.11.3.tar.gz
// 进入nginx目录
cd nginx-1.11.3
// 配置
./configure --prefix=/usr/local/nginx
// 编辑nginx
make
// 安装nginx
make install
// 启动nginx
/usr/local/nginx/sbin/nginx
// 查看nginx进程
ps -ef|grep nginx
// 停止nginx
/usr/local/nginx/sbin/nginx -s stop
// 查看nginx版本
/usr/local/nginx/sbin/nginx -v
nginx 相关命令 -s reload (重启) -s 是平滑的操作的意思 除了启动 重启和停止最好带上-s
start / -s stop 启动/停止
现在介绍nginx重点部分nginx.conf,配置参数详解 参考
#user nobody;
worker_processes 3; #nginx使用的进程数,一般1个就够了,可以设置成和cpu数量一样#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}#stream { #这个配置是用于转发mysql的请求的,好像低版本nginx不支持
# upstream mysql {
# server 192.168.0.1:3306;;
# }
# server {
# listen 9966;
#
# # 请求抛给 stream_backend 组
# proxy_pass mysql;
# }
#}
#转发http请求
http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on; #开启高效文件传输#tcp_nopush on;keepalive_timeout 65;#gzip on;upstream aaa{ #端口转发server 127.0.0.1:8080;}upstream bbb{server 127.0.0.1:8081;}upstream ccc{server 127.0.0.1:8082;}#aaa端口转发
server {listen 80;server_name aaa;access_log logs/aaa.log; #日志文件error_log logs/aaa.error;#将所有请求转发给demo_pool池的应用处理location / {proxy_set_header Host 127.0.0.1; #host 最好写成和server_name一样,
#不然如果页面重定向会使用127.0.0.1做为请求头会访问http://127.0.0.1/xxx,导致404#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://aaa; #转发至上面配置好的upstreamtcp_nopush on;tcp_nodelay on;}
}
#bbb端口转发
server {listen 80;server_name bbb;server_name ddd;access_log logs/bbb.log;error_log logs/bbb.error;#将所有请求转发给demo_pool池的应用处理location / {proxy_set_header Host 127.0.0.1;#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://bbb;tcp_nopush on;tcp_nodelay on;}
}
#ccc端口转发
server {listen 80;server_name ccc;access_log logs/ccc.log;error_log logs/ccc.error;#将所有请求转发给demo_pool池的应用处理location / {proxy_set_header Host 127.0.0.1;proxy_pass http://ccc;}
}
#静态资源映射
server {listen 80;server_name eee;#access_log logs/eee.log##error_log logs/eee.error;# 精细化 配置相关静态资源参数,优化访问静态资源文件location ~ .*\.(gif|jpg|jpeg|png)$ {expires 24h; root /usr/share/images;#指定图片存放路径 proxy_store on; #proxy_temp_path D:/tools/nginx/2/image1/;#图片访问路径 proxy_redirect off; proxy_set_header Host 127.0.0.1; client_max_body_size 10m;client_body_buffer_size 1280k; proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 40k; proxy_buffers 40 320k; proxy_busy_buffers_size 640k; proxy_temp_file_write_size 640k; #if ( !-e $request_filename) # { # proxy_pass http://127.0.0.1;#默认80端口 # } }
}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}
nginx功能强大,并发高达50000,相对apache使用更少的资源。NGINX的高效性还表现在可以不停机的更新项目,如上面配置所示 aaa域名指向8080端口,现在需要更新8080项目,只需要重开一个更新的项目如端口8088,然后将nginx.conf中的配置端口转指向改变再使用 nginx -s reload就可以实现平滑过渡。待稳定后可以将原8080项目关闭
更多推荐
Nginx在ubuntu16.04中安装以及基本配置 学习笔记
发布评论