a13698822086 发表于 2018-11-8 08:41:26

Cento7+Nginx 之 URL重写

  Cento7+Nginx之URL重写
  我们前一篇文章写了一个Cento7+Nginx 反向代理实现多域名跳转,今天主要介绍一下Cento7+Nginx之URL重写,
  Hostname:A-S.IXMSOFT.COM
  IP:192.168.5.20
  Role:Nginx server
  我们首先准备安装Nginx仓库
Yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm  
yum install nginx

  安装完后,我们查看默认的nginx配置文件
vim /etc/nginx/nginx.conf  默认的nginx.conf文件
user nginx;  
worker_processes 1;
  
error_log /var/log/nginx/error.log warn;
  
pid /var/run/nginx.pid;
  
events {
  
worker_connections 1024;
  
}
  
http {
  
include /etc/nginx/mime.types;
  
default_type application/octet-stream;
  
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  
'$status $body_bytes_sent "$http_referer" '
  
'"$http_user_agent" "$http_x_forwarded_for"';
  
access_log /var/log/nginx/access.log main;
  
sendfile on;
  
#tcp_nopush on;
  
keepalive_timeout 65;
  
#gzip on;
  
include /etc/nginx/conf.d/*.conf;

  我们看见nginx默认配置下包括了一个包含多个配置文件的选项,所以我们一般可以不修改这个默认的配置文件

  我们查看默认的配置文件

  我们查看默认的default.conf文件内容

  我们看见这个配置文件已经占用了80端口,我们将80端口修改。

  接下来我们新建一个配置文件,也可以在默认的配置文件中修改。但是不建议
cd /etc/nginx/conf.d/  
vim rewrite.conf
  
server {
  
listen 80;
  
server_name ixmsoft.com;
  
location / {
  
rewrite ^/(.*) http://www.baidu.com;
  
}
  
access_log logs/rewrite_access.log;
  
}

  保存退出后,我们重启nginx
systemctl stop nginx  
systemctl start nginx
  我们需要将server_name的域名指向nginx IP本地,然后才可以访问。
  在dns中添加记录,d1.ixmsoft.com 指向Nginx IP 192.168.5.20

  然后测试访问

  然后我们查看log,
cat /etc/nginx/logs/rewrite_access.log
  当然,我们也可以添加多个server来实现域名跳转,在原有的配置文件内增加即可
server {  
listen 80;
  
server_name d1.ixmsoft.com;
  
location / {
  
rewrite ^/(.*) http://www.baidu.com;
  
}
  
access_log logs/rewrite_access.log;
  
}
  
server {
  
listen 80;
  
server_name d2.ixmsoft.com;
  
location / {
  
rewrite ^/(.*) http://www.sina.com;
  
}
  
access_log logs/rewrite_access02.log;
  
}

  重启后,我们测试访问

  同样查看log



页: [1]
查看完整版本: Cento7+Nginx 之 URL重写