1、nginx:
官网:www.nginx.org

下载:wget -c  http://nginx.org/download/nginx-1.14.0.tar.gz
解压:tar -zxvf nginx-1.14.0.tar.gz
进入:cd nginx-1.14.6
安装依赖包:yum install gcc gcc-c++ glibc pcre pcre-devel zlib zlib-devel

生成配制文件:./configure --prefix=/usr/local/nginx --user=*** --group=*** --with-http_ssl_module --with-http_stub_status_module
编译安装:make && make install

升级、降级:下载安装包后,按照原来的参数进行编译后,不再安装(make install) 然后复制cp obj/nginx  到原安装目录下,就可以了。

注意:

a,编译前可以隐藏版本:编辑源码包里:vim nginx-1.14.0/src/core/nginx.h

查看:

 

安装完成后,编辑配制文件:
cp /usr/local/nginx/conf/nginx.conf   /usr/local/nginx/conf/nginx.conf.bak
vim /usr/local/nginx/conf/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
 
编辑启动文件:
vim /etc/init.d/nginx
加入以下代码:
#!/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=$?
echo
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 --list 查看有哪些服务列表
chkconfig --add /etc/init.d/nginx    (增加nginx服务)
chkconfig --level 2345 nginx on    (设置为2345模式下为自动启动)

查检语法:
/usr/local/nginx/sbin/nginx -t
启动查看:
/etc/init.d/nginx start
ps aux |grep nginx
netstat -tulnp

图例:
安装无成后的目录

配制文件相关:

启动文件相关:

启动、查看:

 

 2、Nginx默认虚拟主机
编辑:/usr/local/nginx/conf/nginx.conf
加入这条语句(在http下)include vhost/*.conf
然后,在 conf目录下  创建vhost 目录
最后在conf目录下,创建以  .conf 结尾的文件,写入:

server{
listen 80 default_server;
server_name rrr.com;
index index.html index.htm index.php;
root /var/www/nginx;
}

若/var/www/目录下没有nginx目录,那么就需要创建:mkdir -p /var/www/nginx
再创建index.html文件:
echo "nginx_vhost" >>/var/www/nginx/index.html
配制完成后测试语法:/usr/local/nginx/sbin/nginx -t
最后重新加载nginx服务:/usr/local/nginx/sbin/nginx -s reload
访问测试:curl -x127.0.0.1:80 rrr.com



到此nginx虚拟主机配制完成。

 3、nginx用户认证
若没有安装httpd需要先安装:
yum install httpd -y
在/usr/local/nginx/conf/vhost/  下面新建一个test.com.conf
写入以下代码:

location /
{
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

语法检查:
/usr/local/nginx/sbin/nginx -t
生成密码文件:
htpasswd  -c -m /usr/local/nginx/conf/htpasswd test    (-c 是创建文件  -m 是md5加密)
htpasswd   -m /usr/local/nginx/conf/htpasswd test1
重新加载nginx:
/usr/local/nginx/sbin/nginx -s reload

访问查看:

若要配制某个目录的权限只需要改:

若需要对某个文件进行权限设置的话,就改成:

查看测试:

4、nginx 域名重定向:
在vhost目录下的配制文件test.com.conf 加入:
和多设置几个域名:server_name test.com test1.com test3.com;

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

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

}

然后,查检和测试:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
curl -x127.0.0.1:80 test3.com/index.html

到此,域名跳转配制完成。

nginx的安装 、Nginx默认虚拟主机、nginx用户认证、nginx 域名重定向的更多相关文章

  1. Nginx安装、默认虚拟主机、Nginx用户认证和域名重定向

    6月7日任务 12.6 Nginx安装12.7 默认虚拟主机12.8 Nginx用户认证12.9 Nginx域名重定向 扩展nginx.conf 配置详解 http://www.ha97.com/51 ...

  2. Linux centosVMware Nginx安装、 默认虚拟主机、Nginx用户认证、Nginx域名重定向

    一. Nginx安装 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz 版本在http://nginx.org/ ...

  3. nginx之安装、多虚拟主机、反向代理和负载均衡

    一.web服务器与web框架 1.web服务器简介 Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过 HTTP(超文 ...

  4. LAMP 1.8默认虚拟主机

    默认虚拟主机是为了解决别人域名恶心绑定自己的服务器ip,可导致服务器上的网站排名靠后,即干扰seo优化 我们访问指定的两个网站可以直接访问,ip也可以访问 打开配置文件 vim /usr/local/ ...

  5. apache禁止默认虚拟主机

    禁止默认虚拟主机:作用使除特定域名外,其它的域名/ip无法访问此站点. 在虚拟主机配置文件中 即:/usr/local/apache2/conf/extra/httpd-vhosts.conf 将其中 ...

  6. [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向

    Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...

  7. Nginx安装及配置虚拟主机

    nginx安装部分 依赖环境 yum -y install gcc zlib openssl-devel zlib-devel 1. 下载好下面两个包:nginx-1.8.1.tar.gz pcre- ...

  8. nginx创建默认虚拟主机

    创建默认虚拟主机配置文件作用:禁止任何人通过ip或未允许的域名访问web服务. 如:vim vhosts/default.conf server { listen 80 default; server ...

  9. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

随机推荐

  1. Mysql InnoDB三大特性-- change buffer

    Mysql InnoDB三大特性-- change buffer

  2. java 实现简单的顺序队列

    package com.my; import java.util.Arrays; /** * 顺序队列 * @author wanjn * */ public class ArrayQueue { p ...

  3. mybatis 无法自动补全,没有获得dtd文件

    由于网络原因,eclipse无法下载到http://mybatis.org/dtd/mybatis-3-mapper.dtd,导致eclipse的编辑器无法自动补全标签. 解决办法:将dtd文件下载到 ...

  4. Linux文件系统中的inode节点详细介绍

    这篇文章主要介绍了Linux文件系统中的inode节点,详细讲解了inode是什么.inode包含的信息.inode号码的相关资料等,需要的朋友可以参考下 一.inode是什么? 理解inode,要从 ...

  5. c语言中printf("%x",-1);为什么会输出-1的十六进制补码??

    计算机存储的时候是以补码的形式存进去的,输出来在以你原码的形式输出(这个形式就是你设置的形式)! 比如: -1 (32位模式) 存: 1 000000000000000000000000000000 ...

  6. [Leetcode 104]求二叉树的深度Depth of BinaryTree

    [题目] Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  7. 从命令行模式运行Windows管理工具。

    从命令行模式运行Windows管理工具. 分类: Play Windows 2004-08-06 16:39 6076人阅读 评论(3) 收藏 举报 1.可以直接在开始-〉运行里面输入的管理工具: 文 ...

  8. Python 基础的应用day2

    1 用户交互input,将用户输入的内容赋值给 name 变量 后只能是字符串str.      区别2和3: ps :python2:raw_input python3:input 例 :1 nam ...

  9. FCC JS基础算法题(7):Chunky Monkey(分割数组)

    题目描述: 把一个数组arr按照指定的数组大小size分割成若干个数组块. 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4,5],2)=[[1, ...

  10. mysql常见查询练习题

    #建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not nu ...