linux 添加重定向域名,Linux系统中Nginx的安装并进行域名认证和重定向
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的安装并进行域名认证和重定向的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: midl会议_2020年医学图像处理领域
- 下一篇: 白盒测试 | 用例设计方法之语句覆盖