1、首先用yum安装nginx需要的的插件。
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
【注释】不要问我为什么安装这些,因为我在后面执行./configure时报错提示缺少这些组件。主要和我需要安装那些模块和功能支持有关系。
2、下载nginx-1.9.4安装包,可以到官网上面下载。
解压,新建nginx用户组和nginx用户,并设置为不可登陆。
tar -zxvf nginx-1.9.4.tar.gz
cd nginx-1.9.4
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
3、执行./configure检查环境
./configure --prefix=/opt/nginx --sbin-path=/usr/sbin/nginx --conf-path=/opt/nginx/nginx.conf --error-log-path=/opt/nginx/logs/error.log --http-log-path=/opt/nginx/logs/access.log --pid-path=/opt/nginx/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
【注释】以上参数主要是指定 nginx的安装目录,启动命令路径,配置文件路径,错误日志路径,和你需要的安装的模块,具体的在官网和网上都有说明,这里就不一一介绍。
4、执行编译安装
make && make install
5、
cd nginx
mv nginx.conf nginx.conf.bak #备份初始配置文件
[jason@host-192-168-2-12 ~]# cat /opt/nginx/nginx.conf #上传我自己的配置好的conf文件
#user nobody;
worker_processes 1;
error_log logs/error.log;
pid /opt/nginx/nginx.pid;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
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;
client_max_body_size 300m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_buffer_size 16k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 54k;
proxy_temp_file_write_size 64k;
upstream hm.bioeh.com {
server 192.168.2.11:8080 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.2.12:8080 weight=10 max_fails=2 fail_timeout=30s;
}
upstream doctor_server_pool {
server 192.168.2.11:8081 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.2.12:8081 weight=10 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name hm.bioeh.com;
charset utf-8;
location /bsp/ {
root html;
index index.html index.htm;
proxy_pass http://hm.bioeh.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-forwarded-for $remote_addr;
client_max_body_size 100m;
}
location /doctor/ {
root html;
index index.html index.htm;
proxy_pass http://doctor_server_pool;
proxy_set_header X-Real-IP $remote_addr;
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_max_body_size 100m;
}
}
}
nginx -c nginx.conf #检查配置文件
mkdir -p /var/cache/nginx/client_temp #提示有错误,需要创建这个目录
nginx -c nginx.conf #再次检查配置文件,没有问题
6、启动nginx
#nginx
# netstat -tulnp|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14263/nginx
【注释】80端口存在,说明服务启动成功,也telnet IP 80查看,或者直接在浏览器访问。