[步骤] Nginx SSL 的设置 (HTTPS)

注意:

在设置 Nginx 重定向之前要先安装 Nginx

正文:

步骤一:生成网站所使用的私钥和公钥

# cd /usr/local/nginx/conf
# openssl genrsa > cert.key
# openssl req -new -x509 -key cert.key > cert.pem

步骤二:修改 Nginx 的配置文件

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
server {
listen 443
server_name www.c.com;
ssl_certificate     cert.pem;
ssl_certificate_key cert.key;

location /{
root html;
index index.html index.htm;
}
......
}
......

[内容] Nginx 代理的设置 (HTTP 和 SSH)

注意:

在设置 Nginx 代理之前要先安装 Nginx

正文:

内容一:设置 Nginx HTTP 代理

1.1 设置 Nginx HTTP 代理 (最简设置)

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
http {
.....
upstream webserver {
   server 192.168.1.100:80;
   server 192.168.1.200:80;
}
.....
server {
listen 80;
server_name www.eternalcenter.com;
location / {
proxy_pass http://webserver;
}
......
}
......
}

(补充:这里以代理并实现 192.168.1.100:80 和 192.168.1.200:80 的负载均衡为例)

1.2 设置 Nginx HTTP 代理

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
http {
.....
upstream webserver {
Server    192.168.2.100    weight=1    max_fails=1  fail_timeout=30;
Server    192.168.2.200    weight=2    max_fails=2  fail_timeout=30;
Server    192.168.2.101    down;
keepalive 300;
ip_hash;
}
.....
server {
listen 80;
server_name www.eternalcenter.com;
location / {
proxy_pass http://webserver;
}
......
}
......
}


补充:这里以代理并实现
1) 192.168.1.100:80 和 192.168.1.200:80 的负载均衡
2) 192.168.2.100 的权重为 1 最大失败数为 1 延迟时间为 30,192.168.2.200 的权重为 2 最大失败数为 2 延迟时间为 30
3) 192.168.2.101 为备用 IP 地址
4) 会话持续时间为 300
5) 使用 ip_hash 算法固定那个访客 IP 地址访问后端服务器为例
)

内容二:设置 Nginx SSH 代理

将部分内容修改如下:

stream {
upstream backend {
server 192.168.1.100:22;
server 192.168.1.200:22;
}
server{
listen 222;
proxy_connect_timeout 1s;
proxy_pass backend;
}
}

http{
......
}

[内容] Nginx 重定向的设置

注意:

在设置 Nginx 重定向之前要先安装 Nginx

正文:

内容一:Nginx 重定向的常用变量和参数

1.1 Nginx 重定向的常用变量

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#'$status $body_bytes_sent "$http_referer" '
#'"$http_user_agent" "$http_x_forwarded_for"';

1.2 Nginx 重定向的常用参数

rewrite 旧地址 新地址 [选项]
last 不再读其他 rewrite 类似与 shell 的 continue
break 不再读取其他语句,结束请求 类似于 shell 的 break
redirect 临时重定向
permament 永久重定向

内容二:Nginx 重定向的案例

2.1 案例一:将域名或 IP 重定向到别的域名或 IP

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        rewrite ^/ http://www.eternalcenter.com/;
        location / {
            root   html;
            index  index.html index.htm;
        }
......
        }
......

(补充:这里以将本地的 80 端口重定向到 www.eternalcenter.com 为例)

2.2 案例二:将域名以及域名下面的子地址指向到别的域名以及它的子地址并一一对应

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        rewrite ^/(.*)$ http://www.eternalcenter.com/$1;
        location / {
            root   html;
            index  index.html index.htm;
        }
......
        }
......

(补充:这里以将本地的 80 端口及其子地址重定向到 www.eternalcenter.com 及其子地址为例)

2.3 案例三:将指向本地 a.html 的文件指向本地文件 b.html

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            rewrite /a.html /b.html;
        }
......
        }
......

或者:

......
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            rewrite /a.html /b.html redirect;
        }
......
        }
......

(补充:这里以将本地的 80 端口下的 a.html 重定向到 b.html 为例)

2.4 案例四:不同的浏览器返回不通的网页

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        if ($http_user_agent ~* firefox){
        Rewrite ^(.*)$ /firefox/$1;
        }
......
        }
......

(补充:这里以将 $http_user_agent 变量包含 firefox 的访问重定向到 /firefox/ 下对应的文件为例)

[内容] 第三方软件源的使用 (通过 webtatic 安装 php)(CentOS Linux & RHEL 版)

内容一:为什么使用第三方软件源

本地搭建的软件源往往会有以下缺点:

1) 软件不够全,需要使用的软件没有
2) 软件版本不够高,在功能、性能和安全方面达不到要求
3) 使用第三方网络软件源有时可以解决以上问题

内容二:webtatic

2.1 webtatic 源简介

1) webtatic 是一个致力于将实现 web 服务的各类软件
2) webtatic 通过 yum 安装
3) webtatic 是一个免费的开源 yum 源项目


注意:
1) webtatic 项目并没有在社区认可的软件源列表中:
2) 社区认可的软件源列表网址:https://wiki.centos.org/zh/AdditionalResources/Repositories

2.2 使用 webtatic 的方法


注意:
1) 如果过去已经使用了其他的第三方 yum 源,最好先删除原来的第三方 yum 源
2) 如果过去已经安装了相应的软件,最好先删除这些软件而不是使用第三方 yum 源对他们进行升级

2.2.1 安装 webtatic 的 epel
# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
2.2.2 安装 webtatic
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2.2.3 清理原来的 yum 源缓存
# yum clean all
2.2.4 此时可以开始安装软件了
2.2.4.1 显示所有软件列表
# yum list all
2.2.4.2 安装想要的软件爱你

# yum install <softeware>

2.2.5 删除 webtatic
# rpm -e epel-release ;; rpm -e webtatic-release