Contos7 Nginx服务器安装部署文档
一、 安装前准备(若链接失效自行百度找)
1、 安装gcc++
yum -y install gcc yum -y install gcc-c++
yum -y install gcc yum -y install gcc-c++
2、 安装zlib
yum -y install zlib zlib-devel
或
wget http://zlib.net/zlib-1.2.8.tar.gz
cd zlib 下载目录
tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
./configure && make && make install
3、 安装 openssl
yum install openssl openssl-devel
下载openssl源码
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
cd openssl
tar -zxvf openssl-1.0.1c.tar.gz
*如yum安装后启动nginx失败,则进入解压后的目录执行
./config --prefix=/usr/local/ssl shared zlib-dynamicmake
4、 安装PCRE库
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
cd pcrs下载目录
./configure && make && make install
5、 生成HTTPS证书(HTTP请求可忽略此步骤)
生成key文件:
openssl genrsa -des3 -out suncrs.key 1024
创建签名请求的证书(CSR):
penssl req -new -key suncrs.key -out suncrs.csr
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
cp suncrs.key suncrs.key.org
openssl rsa -in suncrs.key.org -out suncrs.key
最后标记证书使用上述私钥和CSR:
openssl x509 -req -days 365 -in suncrs.csr -signkey suncrs.key -out suncrs.crt
生成的key、crt等文件会生成在当前使用命令的目录
5、生成HTTPS证书and Key 文件
二、 安装Nginx
下载地址:http://nginx.org/en/download.html
此文档安装版本为1.10.3
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.g
cd nginx-1.10.3
如果需要配置HTTPS协议,则这一步很关键
进入nginx解压目录后执行:
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module && make && make install
解释:
--prefix=/usr/local/nginx #nginx安装目录 默认为 /usr/local/nginx
--with-http_stub_status_module
--with-http_gzip_static_module #启用_http_gzip_module模块对静态文件进行压缩,如果启用,需要zlib包
--with-http_realip_module
--with-http_sub_module
--with-http_ssl_module #安装启用ngx_http_ssl_module,启用SSL支持并且能够处理HTTPS请求。需要OpenSSL,在Debian系统中,对应的包为libssl-dev。
安装完成!!!!!!!!!!!!!!!!!!
三、配置Nginx.conf
1、进入nginx安装完成后的目录(如未指定nginx的安装目录则在默认路径/usr/local/nginx)
cd /usr/local/nginx
2、修改配置文件
vim /conf/nginx.conf
案例(此案例中默认配置文件中的注释已删除均采用默认配置, 标注为红色的为修改部分):
user root; #指定登录linux服务器的用户
worker_processes 1;
events {
worker_connections 1024;
}
resolver 10.0.0.1;
upstream loadLeveling { # loadLeveling为自定义名称
#如需配置负载均衡 则此代码块中添加服务器IP地址
server 192.168.0.100:8080 weight=1 max_fails=3 fail_timeout=15;
server 192.168.0.101:8080 weight=2 max_conns=1000;
server 192.168.0.102:8080 weight=3;
server 192.168.0.103:8080 bachup;
server www.suncrs.cn resolver;
}
#weight 为负载均衡 分配请求规则 上述配置表示 6次请求中 100分配1个请求 101分配2个 102 分配3个,以此类推,
#max_fails与fail_timeout 代表如果请求发送给100这台服务器 发生错误了3次则15秒内不再发送请求给此台服务器fail_timeout默认值为10秒
# bachup 备份机 上述 100,101,102全挂了 103才开始生效
# max_conns 限制分配给某台Server处理的最大连接数量,超过这个数量,将不会分配新的连接给它
# resolver 域名解析服务 意思为:当前www.suncrs.cn 的域名访问ip转发至10.0.0.1处理
http {
include mime.types;
default_type application/octet-stream;
"$request"
sendfile on;
keepalive_timeout 65;
server {
listen 8765 ssl; #修改端口 (http请求则不用填写ssl)
server_name XXX.XXX.XXX.XXX; #修改为当前机器的ip地址
#要使用生成的服务器的证书和key,使用绝对路径 (HTTP协议则不需要配置ssl相关属性)
ssl_certificate /etc/pki/CA/certs/suncrs.crt; #填写证书的绝对路径
ssl_certificate_key /etc/pki/CA/private/suncrs.key; #填写key的绝对路径
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~* \.(.htm)$ { #指定所有已.htm结尾的资源访问请求进入以下代码块
root /root/suncrs/suncrs-resource/; #填写资源的目录
}
location / { #指定所有请求进入以下代码块,使用反向代理
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #设置真实ip至请求头
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://XXX.XXX.XXX.XXX:POST; #反向代理制哪台服务器处理请求,如果配置了负载均衡填写upstream代码块名称 https://loadLeveling
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
常用命令:
/usr/local/nginx/sbin/nginx为安装路径
安装路径/nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx; 并指定配置文件路径
安装路径/nginx -s quit 停止ngix
安装路径/nginx -s reload 重新载入nginx(当配置信息发生修改时)
安装路径/nginx -s reopen 打开日志文件
安装路径/nginx -v 查看版本
安装路径/nginx -t 查看nginx的配置文件的目录
安装路径/nginx -h 查看帮助信息
可选操作:
linux将nginx配置到全局
cd ~ 进入用户根目录
ls -a 查看所有文件(包含隐藏)
vim .bashrc 进入环境变量配置文件
export NGINX=/usr/local/nginx/sbin/nginx
PATH=$PATH:$NGINX 修改环境变量
:qw 保存退出 (:q! 不保存退出ctrl d向下翻页ctrl u向上翻页)
source .bashrc 修改后的配置文件生效