Linux系统中Nginx的安装并进行域名认证和重定向

本文主要介绍Linux系统中Nginx的安装并进行域名认证和重定向,希望通过本知识点的讲解对大家今后的学习和工作有所帮助,下面进行具体介绍:

12.6 Nginx安装

cd /usr/local/src

wget http://nginx.org/download/nginx-1.8.0.tar.gz

tar zxvf nginx-1.8.0.tar.gz

./configure --prefix=/usr/local/nginx

make && make install

查看配置文件是否有错 -t

/usr/local/nginx/sbin/nginx -t

启动脚本编辑:

vim /etc/init.d/nginx //复制如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx)

内容为

--------------------------------------------------------------echo#!/bin/bash

# chkconfig: - 30 21

# description: http service.

# Source Function Library

. /etc/init.d/functions

# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"

NGINX_CONF="/usr/local/nginx/conf/nginx.conf"

NGINX_PID="/usr/local/nginx/logs/nginx.pid"

RETVAL=0

prog="Nginx"

start()

{

echo -n $"Starting $prog: "

mkdir -p /dev/shm/nginx_temp

daemon $NGINX_SBIN -c $NGINX_CONF

RETVAL=$?

echo

return $RETVAL

}

stop()

{

echo -n $"Stopping $prog: "

killproc -p $NGINX_PID $NGINX_SBIN -TERM

rm -rf /dev/shm/nginx_temp

RETVAL=$?

return $RETVAL

}

reload()

{

echo -n $"Reloading $prog: "

killproc -p $NGINX_PID $NGINX_SBIN -HUP

RETVAL=$?

echo

return $RETVAL

}

restart()

{

stop

start

}

configtest()

{

$NGINX_SBIN -c $NGINX_CONF -t

return 0

}

case "$1" in

start)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

restart

;;

configtest)

configtest

;;

*)

echo $"Usage: $0 {start|stop|reload|restart|configtest}"

RETVAL=1

esac

exit $RETVAL

--------------------------------------------------------------

chmod 755 /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

cd /usr/local/nginx/conf/;mv nginx.conf nginx.conf.bak

vim nginx.conf //写入如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf)

内容为

--------------------------------------------------------------

user nobody nobody;

worker_processes 2;

error_log /usr/local/nginx/logs/nginx_error.log crit;

pid /usr/local/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

{

use epoll;

worker_connections 6000;

}

http

{

include mime.types;

default_type application/octet-stream;

server_names_hash_bucket_size 3526;

server_names_hash_max_size 4096;

log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'

' $host "$request_uri" $status'

' "$http_referer" "$http_user_agent"';

sendfile on;

tcp_nopush on;

keepalive_timeout 30;

client_header_timeout 3m;

client_body_timeout 3m;

send_timeout 3m;

connection_pool_size 256;

client_header_buffer_size 1k;

large_client_header_buffers 8 4k;

request_pool_size 4k;

output_buffers 4 32k;

postpone_output 1460;

client_max_body_size 10m;

client_body_buffer_size 256k;

client_body_temp_path /usr/local/nginx/client_body_temp;

proxy_temp_path /usr/local/nginx/proxy_temp;

fastcgi_temp_path /usr/local/nginx/fastcgi_temp;

fastcgi_intercept_errors on;

tcp_nodelay on;

gzip on;

gzip_min_length 1k;

gzip_buffers 4 8k;

gzip_comp_level 5;

gzip_http_version 1.1;

gzip_types text/plain application/x-javascript text/css text/htm

application/xml;

server

{

listen 80;

server_name localhost;

index index.html index.htm index.php;

root /usr/local/nginx/html;

location ~ \.php$

{

include fastcgi_params;

fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

}

}

}

--------------------------------------------------------------

/usr/local/nginx/sbin/nginx -t

/etc/init.d/nginx start

ps aux | grep nginx

netstat -lntp | grep 80

测试#curl localhost

测试php

vim /usr/local/nginx/html/1.php

写入以下内容

----------------------------------------------------------------

echo "This is nginx test page";

----------------------------------------------------------------

测试curl localhost/1.php

12.7 默认虚拟主机

vim /usr/local/nginx/conf/nginx.conf //http里增加下面一行

include vhost/*.conf;

mkdir /usr/local/nginx/conf/vhost

cd !$;vim default.conf //加入如下内容

----------------------------------------------------------------

server

{

listen 80 default_server; //有这个标记的就是默认虚拟主机

server_name aaa.com;

index index.html index.htm index.php;

root /data/wwwroot/default;

}

----------------------------------------------------------------

mkdir -p /data/wwwroot/default

cd /data/wwwroot/default

echo "This is a default site." > /data/wwwroot/default/index.html

/usr/local/nginx/sbin/nginx -t //检查配置是否有错

/usr/local/nginx/sbin/nginx -s reload //重新加载,也可以重启服务

或/etc/init.d/nginx restart //重启服务

curl localhost

curl -x127.0.0.1:80 123.com

12.8 Nginx用户认证

vim /usr/local/nginx/conf/vhost/test.com.conf //写入如下内容

----------------------------------------------------------------

server

{

listen 80 ;

server_name test.com;

index index.html index.htm index.php;

root /data/wwwroot/test.com;

location /

{auth_basic              "Auth";

auth_basic_user_file /usr/local/nginx/conf/htpasswd;

}

}

----------------------------------------------------------------

yum install -y httpd

htpasswd -c /usr/local/nginx/conf/htpasswd aming //-c创建

/usr/local/nginx/sbin/nginx -t //检查配置是否有错

/usr/local/nginx/sbin/nginx -s reload //重新加载

curl -x127.0.0.1:80 test.com -I

curl -uaming:lishiming -x127.0.0.1:80 test.com //404错误,-u指定用户;

ls /data/wwwroot/test.com

mkdir /data/wwwroot/test.com

echo "test.com" > /data/wwwroot/test.com/index.html

curl -uaming:lishiming -x127.0.0.1:80 test.com

指定访问admin才认证

curl -uaming:lishiming -x127.0.0.1:80 test.com/admin/

vim /usr/local/nginx/conf/vhost/test.com.conf

将location /修改为location /admin/即可;

curl -x127.0.0.1:80 test.com  //就不用指定用户了;

curl -x127.0.0.1:80 test.com/admin/  //提示401用户请求

12.9 Nginx域名重定向

vim /usr/local/nginx/conf/vhost/test.com.conf //修改为如下内容

----------------------------------------------------------------

server

{

listen 80 ;

server_name test.com  test1.com   test2.com;

index index.html index.htm index.php;

root /data/wwwroot/test.com;

if($host!='test.com'){

rewrite ^/(.*)$ http://test.com/$1 permanent;

}

location ~ admin.php

{auth_basic              "Auth";

auth_basic_user_file /usr/local/nginx/conf/htpasswd;

}

}

----------------------------------------------------------------

^表示以某某开头,这里指http://$host

(.*)表示通配所有,$表示直到结尾;

/usr/local/nginx/sbin/nginx -t //检查配置是否有错

/usr/local/nginx/sbin/nginx -s reload //重新加载

curl -x127.0.0.1:80 test2.com/index.html -I //提示301,都重定向到test.com/index.html网页;

linux 添加重定向域名,Linux系统中Nginx的安装并进行域名认证和重定向相关推荐

  1. Linux系统中OpenSSH的安装和配置(转)

    Linux系统中OpenSSH的安装和配置(转) 概述 许多网络程序,如telnet.rsh.rlogin或rexec,用明文(plain text)传送口令和秘密的信息,所以就可利用任何连接到网络上 ...

  2. linux redis数据库安装配置,Linux系统中redis的安装配置步骤

    Linux系统中redis的安装配置步骤 发布时间:2020-06-23 10:13:36 来源:亿速云 阅读:87 作者:Leah 这篇文章将为大家详细讲解有关Linux系统中redis的安装配置步 ...

  3. Linux/Unix系统下nginx+php安装简明教程

    本文转载自Linux/Unix系统下nginx+php安装简明教程,请保留转载信息~ 一.安装nginx: 1. 安装pcre库,nginx的rewrite模板需用到pcre库: mkdir -p / ...

  4. linux ctg重装,Linux 系统中 CTG 的安装, 应用程序开发以及调试

    Linux 系统中 CTG 的安装, 应用程序开发以及调试 准备 1)CICS Transaction Gateway for Multiplatforms, CICS Transaction Gat ...

  5. workerman在linux上怎么运行,linux系统中workerman的安装步骤

    linux系统中workerman的安装步骤,文件,测试,教程,相关文章,错了 linux系统中workerman的安装步骤 易采站长站,站长之家为您整理了linux系统中workerman的安装步骤 ...

  6. Linux系统中nacos下载安装

    Linux系统中nacos下载安装 nacos下载 nacos安装 nacos启动时出现报错 nacos下载 nacos下载地址:https://github.com/alibaba/nacos/re ...

  7. Linux第一本书 第八章 系统中的软件管理

    1.Linux中软件包的类型 1)DEB  ##UB linux DBElinux 2)RPM   ##redhat centOS fadora 3)bz2 | gz | xz   ## 需要源码安装 ...

  8. Linux用命令安装音乐软件,在Ubuntu 18.04系统中使用命令安装Qmmp音乐播放器的方法...

    在Ubuntu 18.04操作系统中安装Qmmp音乐播放器非常简单,只需要两段命令就可以搞定.下面介绍其方法. Qmmp音乐播放器介绍 Qmmp是一款开源基于Qt的多媒体播放器,提供Qt4及Qt5支持 ...

  9. linux如何下载github脚本,在Linux系统中下载及安装GitHub Atom code editor的方法

    GitHub Atom代码编辑器可用于Linux.Mac和Windows平台,本文介绍在Ubuntu/Debian/Arch Linux/Fedora/OpenSUSE系统中下载及安装GitHub A ...

最新文章

  1. mysql int char连接_MySQL中int、char以及varchar的性能比较
  2. python selenium error “Geckodriver executable needs to be in PATH”
  3. java网络编程udp_java网络编程 UDP网络编程问题
  4. 几个cvebase_ifo基础信息融合在一起
  5. C#中使用ProtoBuf提高序列化速度对比二进制序列化
  6. 【嵌入式】C语言高级编程-container_of宏(04)
  7. jQuery_事件学习
  8. python中怎么表示整数的点称为整点_智慧职教云课堂APPPython程序设计基础答案公众号...
  9. SAP UI5 应用的 OData 元数据请求响应的解析原理分析
  10. android今日头条刷新,仿今日头条刷新vector动画
  11. java 一致性hash算法 均衡分发_Dubbo一致性哈希负载均衡的源码和Bug,了解一下?...
  12. 大规模分布式系统资源管理(二)
  13. 【Kafka】消息超过最大值限制max.request.size
  14. Android 去掉标题全屏显示
  15. Smart3D系列教程
  16. linux 查看tongweb进程,TongWeb日志如何查看?
  17. 手把手带你从零开始完整开发经典游戏【俄罗斯方块】,全部逻辑只用不到200行代码。
  18. Win10好用吗?简单几步改造让Windows 10更好用
  19. 点击计算机直接隐藏到任务栏,win7电脑的任务栏被自动隐藏了怎么办?
  20. Netty获取客户端IP

热门文章

  1. 使用Jedis连接远程服务器的redis
  2. MySQL建立多选一列表_如何实现自定义列表的多个item,的单选或多选
  3. Swagger自动接口文档生成框架————springboot整合swagger总结
  4. 看完这篇文章,还不懂nginx,算我输
  5. unity要学ecs吗_ECS的泛泛之谈
  6. oc引导win方法_[OC更新]机械革命8代、9代标压稳定版更新
  7. stm32 I2C架构
  8. orchard mysql_Orchard Core创建CMS/Blog站点
  9. 阻塞式和非阻塞式udp传输_NIO非阻塞网络编程三大核心理念
  10. iview this.$modal 关闭所有的弹窗_一看会用TOB弹窗应用场景