Linux下Nginx的安装部署
Nginx官网:http://nginx.org
1、手动下载安装包
# wget http://nginx.org/download/nginx-1.13.2.tar.gz
2、解压、编译安装
# tar -zxvf nginx-1.13.2.tar.gz
# cd nginx-1.13.2
# ./configure 或者指定安装目录 ./configure --prefix=/usr/local/nginx
# make
# make install
如果安装中,出现错误是缺少编译环境,则安装如下所需的工具和库,然后再执行上面操作
# yum install -y pcre-devel
# yum install gcc gcc-c++ ncurses-devel perl
# yum -y install make gcc gcc-c++ ncurses-devel
# yum -y install zlib zlib-devel
# yum -y install openssl openssl--devel
可配置环境变量直接操作nginx,修改
vim /etc/profile.d/http.sh
文件,加入以下内容,然后生效配置:source !$
export PATH=/usr/local/nginx/sbin:$PATH
3、启动、停止、重启 nginx
默认安装路径:/usr/local/nginx
# cd /usr/local/nginx
# ./nginx ( 启动nginx )
# ./nginx -s stop( 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。)
# ./nginx -s quit( 此方式停止步骤是待nginx进程处理任务完毕进行停止。)
# ./nginx -s reload (当nginx.conf修改后,可执行此命令,立即生效)
4、开机自启动
修改
vi /etc/rc.local
文件,增加一行/usr/local/nginx/sbin/nginx
设置执行权限
chmod 755 rc.local
5、环境配置
- 配置完成后,测试是否正常,并生效配置
# /usr/local/nginx/sbin/nginx -t
# nginx -s reload
- 常用配置,修改
nginx.conf
# 允许客户端请求的最大的单个文件字节数
client_max_body_size 300m;
# 缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再传给用户
client_body_buffer_size 128k;
# 跟后端服务器连接的超时时间,发起握手等候响应超时时间
proxy_connect_timeout 600;
# 连接成功后,等候后端服务器响应时间,其实已经进入后端的排队之中等候处理
proxy_read_timeout 600;
# 后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有数据
proxy_send_timeout 600;
# 代理请求缓存区,这个缓存区会保存用户的头信息以供Nginx进行规则处理,一般只要能保存下头信息即可
proxy_buffer_size 16k;
# 临时缓存文件大小
proxy_temp_file_write_size 64k;
# 对网页文件、css、JS、XML等启动gzip压缩,减少数据传输量,提高访问速度
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
- 反向代理配置示例
upstream tomcatserver1 {
server 127.0.0.1:8081;
}
upstream tomcatserver2 {
server 127.0.0.1:8082;
}
server {
listen 80;
server_name 8081.max.com;
#access_log logs/host.access.log main;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_cache off;
proxy_pass http://tomcatserver1;
}
}
server {
listen 80;
server_name 8082.max.com;
#access_log logs/host.access.log main;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_cache off;
proxy_pass http://tomcatserver2;
}
}