Contos下搭建Nginx服务

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 修改后的配置文件生效

转载于:https://my.oschina.net/u/3669812/blog/1635467

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值