摘要:本文主要介绍 Linux系统中Nginx的安装并进行域名认证和重定向,希望通过本知识点的讲解对大家今后的学习和工作有所帮助,下面进行具体介绍:
Linux系统中Nginx的安装并进行域名认证和重定向
本文主要介绍Linux系统中Nginx的安装并进行域名认证和重定向,希望通过本知识点的讲解对大家今后的学习和工作有所帮助,下面进行具体介绍:
12.6 Nginx安装
cd /usr/local/src wget //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
写入以下内容
----------------------------------------------------------------
<?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 ^/(.*)$ //test.com/$1 permanent;
}
location ~ admin.php
{auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
}
----------------------------------------------------------------
^表示以某某开头,这里指//$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网页;
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号