1,Nginx 反向代理
1.1. 安装依赖
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
//或者一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
1.2.安装Nginx
yum install Nginx
1.3.修改配置 vim nginx.conf 不知道路径可以 find -name nginx.conf 查找
listen 80 default_server;
#listen [::]:80 default_server;
server_name domain.com; #绑定域名
#root /usr/share/nginx/html;
# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf;
location / {
root html;
index index.html;
proxy_pass http://www.baidu.net; #需要代理的网址或IP
}
*注:这种只能代理http 的站点
1.4.Nginx常用命令
//测试配置文件
安装路径下的/nginx/sbin/nginx -t
复制代码
//启动命令
安装路径下的/nginx/sbin/nginx
//停止命令
安装路径下的/nginx/sbin/nginx -s stop
或者 : nginx -s quit
//重启命令
安装路径下的/nginx/sbin/nginx -s reload
//查看进程命令
ps -ef | grep nginx
//平滑重启
kill -HUP Nginx主进程号
1.5.配置防火墙
//打开防火墙文件
sudo vim /etc/sysconfig/iptables
//新增行 开放80端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
//保存退
//重启防火墙
sudo service iptables restart
1.6.Nginx虚拟域名配置及测试验证
//编辑nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf
//增加行
include vhost/*.conf
//保存退出
//在/usr/local/nginx/conf目录新建vhost文件夹
2,Nginx 负载均衡
有两种方式,下面采用ip_hash 实现负载均衡,修改配置后重启nginx
修改配置文件nginx.conf
upstream myapp {
ip_hash;
server ip:8000;
server ip:8001;
server ip:8002;
}
server {
listen 8000;
location / {
proxy_pass http://myapp;
}
}
3,代理google
server {
listen 80;
server_name i.xxx.com;
resolver 8.8.8.8;
location / {
root html;
index /;
proxy_pass https://www.google.com;
proxy_connect_timeout 120;
proxy_read_timeout 600;
proxy_send_timeout 600;
send_timeout 600;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
4,配置https访问
server {
listen 443 ssl;
#填写绑定证书的域名
server_name i.xxx.com;
#证书文件名称 放在当前文件夹cert下
ssl_certificate cert/7578518_i.xxx.com.pem;
#私钥文件名称
ssl_certificate_key cert/7578518_i.xxx.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
index / ;
}
}
5,配置强制转发到https
server {
listen 80;
server_name i.xxx.com;
if ($host ~* "^i.xxx.com$") {
rewrite ^/(.*)$ https://i.xxx.com/$1 permanent;
}
location / {
proxy_pass http://127.0.0.1:8080;
index / ;
}
}
更多信息请关注公众号: