yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
yum -y install gcc automake autoconf libtool make
Ubuntu上可以这样安装
sudo aptitude install libdmalloc-dev libcurl4-openssl-dev libpcre3-dev libjemalloc-dev make gcc openssl-dev
安装tengine
(下载的包都放在soft文件夹里面)
(--with-http_stub_status_module --with-http_concat_module 也可省去)
wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gz
tar -xzvf tengine-2.1.0.tar.gz
cd tengine-2.1.0
./configure --prefix=/usr/tengine --with-http_stub_status_module --with-http_concat_module
nginx1.20
./configure --prefix=/usr/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/root/nginx-sticky --with-http_realip_module --with-http_gzip_static_module --with-http_v2_module --add-module=/root/nginx_upstream_check_module-master
make
make install
创建用户组和用户
groupadd www
useradd -g www www
编辑主配置文件
vi /usr/local/nginx/conf/nginx.conf
user www www; #指定运行的用户和用户组
worker_processes 4; #指定要开启的进程数,一般为CPU的核心数或两倍
error_log logs/error.log crit; #全局日志 debug|info|notice|warn|error|crit
pid logs/nginx.pid; #指定进程id的存储文件位置
worker_rlimit_nofile 65535;
events {
use epoll; #对于Linux系统epoll工作模式是首选
worker_connections 65536; #每个进程的最大连接数
#在执行操作系统命令"ulimit -n 65536"后worker_connections的设置才能生效
}
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;
charset utf-8;
server_names_hash_bucket_size 256;
client_header_buffer_size 32k;
large_client_header_buffers 4 128k; #最大缓存为4个128KB
client_max_body_size 20m; #允许客户端请求的最大的单个文件字节数
sendfile on; #开启高效文件传输模式
tcp_nopush on; #用于防止网络阻塞
tcp_nodelay on; #用于防止网络阻塞
keepalive_timeout 60; #超过这个时间之后服务器会关闭该连接
client_header_timeout 10; #客户端请求头读取超时时间,超过这个时间客户端还没发数据NGINX就返回408错误
client_body_timeout 10; #客户端请求主体读取超时时间,超过这个时间客户端还没发数据NGINX就返回408错误
server_tokens on; #不显示nginx版本信息
include gzip.conf; #HttpGzip的配置文件
include proxy.conf; #配置代理文件
include vhost.conf; #虚拟主机的配置文件
include backend.conf; #配置后端的服务器列表文件
}
limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s;
#10m是会话状态存储空间 rate=1r/s是每个地址每秒只能请求一次 (在vhost.conf还有配置)
limit_conn_zone $binary_remote_addr zone=req_one:10m;
#设置IP并发 (在vhost.conf还有配置)
编辑HttpGzip的配置文件
vi /usr/local/nginx/conf/gzip.conf
gzip on;
gzip_min_length 1k; #设置允许压缩的页面最小字节数。
gzip_buffers 4 16k; #用来存储gzip的压缩结果
gzip_http_version 1.1; #识别HTTP协议版本
gzip_comp_level 2; #设置gzip的压缩比 1-9 1压缩比最小但最快 9相反
gzip_types text/plain application/x-javascript text/css application/xml; #指定压缩类型
gzip_proxied any; #无论后端服务器的headers头返回什么信息,都无条件启用压缩
gzip_vary on;
gzip_disable "MSIE [1-6]."; #禁用IE6的gzip压缩
复制代码
编辑代理文件
vi /usr/local/nginx/conf/proxy.conf
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;
client_body_buffer_size 512k;
proxy_connect_timeout 30;
proxy_read_timeout 30;
proxy_send_timeout 30;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
编辑虚拟主机的配置文件
vi /usr/local/nginx/conf/vhost.conf
server {
listen 80;
server_name localhost;
index index.jsp index.htm index.html;
root /usr/local/tomcat7/webapps/ROOT;
location / {
proxy_pass http://backend;
proxy_pass_header Set-Cookie;
}
location /NginxStatus {
stub_status on;
access_log off;
auth_basic "NginxStatus";
}
}
location ~ .*\.(zip|thumb)$ {
root /usr/local/download;
limit_conn req_one 1; #IP下载并发为1 req_one在nginx.conf中配置的 limit_conn_zone $binary_remote_addr zone=req_one:10m;
limit_rate 500k; #限速500k
expires 30d;
}
limit_req zone=req_one burst=100; #req_one在nginx.conf中有配置,当超过rate时请求就会放到burst中burst也满了就503 req_one在nginx.conf中配置的 llimit_req_zone $binary_remote_addr zone=req_one:10m rate=100r/s;
limit_rate_after 3m;
limit_rate 512k; 这两句话的意思是先以最快的速度下载3MB,然后再以512KB的速度下载。
将扩展名为zip,thumb的静态文件都交给Nginx处理,root为静态文件的目录,而expires用为指定静态文件的过期时间30天。
location ~ ^/(upload|download)/ {
root /usr/local;
expires 30d;
}
将upload,download下的所有文件都交给Nginx处理,upload和download目录包含在/usr/local目录中
编辑后端的服务器列表文件
vi /usr/local/nginx/conf/backend.conf
upstream backend {
ip_hash;
server 127.0.0.1:8080 max_fails=1 fail_timeout=60s;
}
4、设置Tengine开机启动
vi /etc/rc.d/init.d/nginx
#!/bin/bash
# Tengine Startup script# processname: nginx
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/tengine/sbin/nginx
nginx_config=/usr/tengine/conf/nginx.conf
nginx_pid=/usr/tengine/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
rm -f /var/lock/subsys/nginx /usr/tengine/logs/nginx.pid
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/tengine/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限
chkconfig --level 012345 nginx on #设置开机启动
service nginx start
tengine反向代理数据库过程:
安装:
下载tengine-2.3.2.tar.gz
./configure --prefix=/http/tengine --with-http_stub_status_module --with-stream
./configure --prefix=/usr/tengine --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_v2_module --add-module=modules/ngx_http_upstream_session_sticky_module --add-module=modules/ngx_http_concat_module
nginx1.20.2
http://nginx.org/en/download.html
./configure --prefix=/usr/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/root/nginx-sticky --with-http_realip_module --with-http_gzip_static_module --with-http_v2_module --add-module=/root/nginx_upstream_check_module-master
make
make install
配置文件:
1、Nginx配置Oracle代理
#user nobody;
worker_processes 1;
#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 {
upstream oracle {
server 172.16.10.222:1521 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 3335;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass oracle;
}
}
2、Nginx配置MySql代理
Nginx 配置mysql代理 -- 基于nginx1.9以上 stream module,stream 模块用于一般的 TCP 代理和负载均衡。
#user nobody;
worker_processes 1;
#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 {
upstream sql {
server 172.16.10.229:3306 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 3333;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass sql;
}
}
3、Nginx配置SqlServer代理
#user nobody;
worker_processes 1;
#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 {
upstream sqlserver {
server 172.16.10.167:1433 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 3334;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass sqlserver;
}
}
4、最后是Nginx代理WebService的配置
#user nobody;
worker_processes 4;
#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;
}
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 0;
keepalive_timeout 65;
upstream esbServer {
server 127.0.0.1:8083 weight=1 max_fails=2 fail_timeout=30s;
}
#gzip on;
server {
listen 8081;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /ladder_web {
proxy_set_header X-real-ip $remote_addr;
proxy_pass http://esbServer;
}
}
}
分享到:
相关推荐
保存并关闭文件,然后启动Nginx服务并设置开机启动: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` 接下来,我们将配置Nginx以支持HTTPS。你需要准备一对SSL证书和私钥,这里我们假设你...
### CentOS8安装Nginx及Nginx配置 #### 一、Nginx简介与应用场景 Nginx(发音为 "engine X")是一款由俄罗斯程序员Igor Sysoev开发的高性能Web服务器和反向代理服务器,同时也可用作IMAP/POP3/SMTP代理服务器。在...
### Linux/CentOS 下安装与配置 Nginx 的详细指南 #### 一、Nginx 简介 Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器,由 C 语言开发而成,非常适合在 Linux 下运行。它以其...
在完全无互联网连接的情况下,离线安装nginx。 nginx版本号:nginx-1.20.1-2.el7.x86_64 食用方法: 1.解压 2.进入解压目录 3.rpm安装全部 4.安装完成
安装完成后,启动Nginx服务并设置其开机启动: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` 你可以通过访问服务器的IP地址(例如 http://your_server_ip/)来检查Nginx是否成功运行。...
6. **启动 Nginx**: 使用 `sudo systemctl start nginx` 启动 Nginx 服务,并用 `sudo systemctl enable nginx` 设置开机启动。 7. **验证安装**: 访问服务器的 IP 地址或域名,如果一切正常,你应该能看到 Nginx 的...
本文将详细介绍如何在CentOS 6.3上通过源码编译安装Nginx,并设置其为开机启动。 一、准备工作 在开始安装前,确保系统已经更新到最新版本,并安装了必要的依赖工具。运行以下命令: ```bash sudo yum update -y ...
本篇文章将详细介绍两种在CentOS7上升级Nginx的方法:YUM upgrade和源码平滑升级,并提供相关的步骤和注意事项。 ### YUM upgrade 升级 YUM upgrade适用于已经使用RPM方式安装Nginx的用户。这种升级方式简单快捷,...
### 二、在CentOS 7上安装Nginx 1.20 在CentOS 7系统中,我们通常会使用RPM包来安装Nginx。首先,我们需要启用EPEL仓库,因为Nginx不在默认的CentOS仓库中: ```bash sudo yum install epel-release -y ``` 然后...
### CentOS安装Nginx详细配置知识点 #### 一、安装准备 ...以上就是CentOS上安装Nginx并进行初步配置的详细过程,通过这些步骤,用户可以在自己的服务器上快速部署并运行Nginx,为网站提供高性能的Web服务。
CentOS系统安装配置Nginx+keepalived实现负载均衡 本文将详细介绍CentOS系统安装配置Nginx+keepalived实现负载均衡的步骤和配置过程。通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构...
centos7配置nginx虚拟主机
在Linux系统中,尤其是CentOS 7,配置Apache Tomcat 8作为开机启动服务是确保服务器启动时自动运行Web应用程序的关键步骤。这个过程对于软件实施工程师来说非常重要,因为它可以简化维护工作,避免每次系统重启后...
总结:在非root权限下安装Nginx,需要手动编译和配置所有依赖库,并指定安装路径。此外,由于没有权限设置系统服务,所以需要通过自定义脚本来启动和管理Nginx。这个过程虽然复杂,但在某些场景下,如共享主机环境,...
通过以上步骤,你可以在 CentOS 7 上快速部署并运行 Nginx 1.24.0,同时理解了基本配置文件的结构和管理方法。不过,为了确保服务器的安全和高效运行,还需要根据实际环境进一步定制和优化配置。
### CentOS 7 安装 Nginx...本文详细介绍了如何在 CentOS 7 上安装 Nginx 1.16.1,并对其进行了基本的配置与管理操作。通过上述步骤,用户可以轻松地搭建起基于 Nginx 的 Web 服务器,并能够对其进行有效的管理与维护。
在本文中,我们将深入探讨如何在CentOS Linux系统上安装和配置Nginx,并提供一些基本的示例。Nginx是一款高性能的Web服务器和反向代理服务器,因其高效的性能和稳定性而广受欢迎。 首先,让我们按照步骤安装Nginx:...
# 启动Nginx并设置开机启动 systemctl start nginx systemctl enable nginx # 配置防火墙 firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload # ...
安装完成后,添加 Nginx 到开机启动,并启动服务: ```bash chkconfig nginx on /usr/local/nginx/sbin/nginx ``` 现在,Nginx 已经运行在你的 CentOS 6.3 系统上,你可以通过浏览器访问 `http://your_server_ip` ...
至此,Nginx已经在CentOS7系统上成功安装并配置为开机自启动。当系统重启时,Nginx服务会自动启动,为你的Web应用程序提供服务。如果需要调整Nginx的配置,只需编辑`/usr/local/nginx/conf/nginx.conf`文件,并使用`...