1、安装
nginx版本:1.6.2
一般nginx的安装需要准备pcre-8.34.tar.gz包(支持正则表达式)、openssl-1.0.1p.tar.gz包(支持安全协议站点)、zlib-1.2.8.tar.gz包(依赖包)。
上传pcre-8.34.tar.gz安装:
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
不报错则继续执行
make && make install
上传zlib-1.2.8.tar.gz安装:
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
不报错则继续执行
make && make install
上传openssl-1.0.1p.tar.gz安装:
tar -zxvf openssl-1.0.1p.tar.gz
cd openssl-1.0.1p
./config
不报错则继续执行
make && make install
上传nginx-1.6.2.tar.gz:
配置检查安装:
tar -zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2.tar.gz
./configure --prefix=/usr/local/nginx
如在编译nginx时,找不到pcre 、zlib、openssl安装路径,执行:
.
./configure --prefix=/usr/local/nginx --with-pcre=../prce-8.34 --with-zlib=../zlib-1.2.8 --with-openssl=../openssl-1.0.1p --with-http_sub_module
将with-*模块配置的路径改为上面的路径。
make && make install
版本检查:/usr/local/nginx/sbin/nginx -v
显示nginx version: nginx/1.6.2,则说安装成功了。
2、配置
vim conf/nginx.conf
# 通过命令获取逻辑CPU的颗数。如24颗,则将
# worker_processes 1;
# 修改成
worker_processes 24;
worker_cpu_affinity 000000000000000000000001 000000000000000000000010 000000000000000000000100 000000000000000000001000 000000000000000000010000 000000000000000000100000 000000000000000001000000 000000000000000010000000 000000000000000100000000 000000000000001000000000 000000000000010000000000 000000000000100000000000 000000000001000000000000 000000000010000000000000 000000000100000000000000 000000001000000000000000 000000010000000000000000 000000100000000000000000 000001000000000000000000 000010000000000000000000 000100000000000000000000 001000000000000000000000 010000000000000000000000 100000000000000000000000;
# 日志配置及PID:
# 将
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
# 修改成
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
# Events(工作模式以及连接数)配置:
# 将
#events {
# worker_connections 1024;
#}
#修改成
events {
use epoll; # epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024; # 单个后台worker process进程的最大并发链接数
}
# 负载均衡配置:
# 需要修改http下载的内容标签下的内容。
# 将默认的
include mime.types;
# 找到安装好的mime.types路径,修改上述为:
# include /usr/local/nginx/conf/mime.types;
# 将
#access_log logs/access.log main;
# 修改成
# 设定日志格式
access_log /var/log/nginx/access.log;
# 修改server标签中内容
# 将
# listen 80;
# server_name localhost;
# 修改为
listen 9100; #访问端口
server_name 10.100.1.28; #访问地址
# 去掉下面的注释:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
# 将location / {….}修改成
proxy_pass http://mysvr ;#请求转向mysvr 定义的服务器列表
#以下是一些反向代理的配置可删除.
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
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_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 512k; #缓冲区代理缓冲用户端请求的最大字节数,
proxy_connect_timeout 30; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 30; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 30; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 16k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 128k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 256k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 1m; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
在http下增加一个属性
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
server 10.100.1.28:9380 weight=5;
server 10.100.1.28:9381 weight=5;
keepalive 64;
}
# 该属性是负载均衡的服务器列表,其中mysvr对应server中的proxy_pass。
3、启动
需要注意的是在启动前先检查一下,日志等文件的相应的文件夹是否都存在。若不存在,则mkdir xxx新建相应的文件夹名称。
cd /usr/local/nginx/
启动命令,-c 后是配置文件
./sbin/nginx -t -c ./conf/nginx.conf 检验配置是否正确
./sbin/nginx -c ./conf/nginx.conf
重启命令,千万不要直接生产上kill掉:
在nginx 目录下使用
sudo sbin/nginx -c conf/nginx.conf -s reload命令
启动后访问响应的ip和端口看到响应的页面即可。
4、安装问题
问题一:安装pcre提示”“ configure: error: You need a C++ compiler for C++ support.”
解决:使用命令“yum install -y gcc gcc-c++”解决
问题二:使用命令/usr/local/nginx/sbin/nginx –v检查版本时,提示
“/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory”。 |
解决:32位执行“ln -s /usr/local/lib/libpcre.so.1 /lib”命令;64位执行“ln -s /usr/local/lib/libpcre.so.1 /lib64”命令。最后重新执行一边命令
闲暇之余,简而记之。