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. laravel中当使用Elquent ORM中的模型作为参数进行传递时的方法:

    Controller中的函数: /* $modelArg:是调用模型的路径,以字符串的形式传递过来. $id:要查询当前模型的id号. $args:具体查询的字段 */ public function ...

  2. day24 模块03_re

    休养生息 --模块03 1.正则表达式 2.在python中使用正则.re 一,正则表达式 (匹配字符串,主要是给字符串使用的) 1)元字符 .  除换行符之外 \w 数字,字母,下划线组成   \W ...

  3. lnmp 基础设置

    1.设置ci.tp.laravel重写,去掉index.php location / { try_files $uri $uri/ /index.php?$query_string; } 2.开启ph ...

  4. Maven 加载ojdbc14.jar报错,解决方法

    因为oracle的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源,只能通过配置本地库才能加载到项目中去. 首先下载 ojdbc14  https://pan.baidu.com/s ...

  5. 以黄门镇黄湾村某一扶贫文档为例——将Excel数据填入到已存在的Word模板

    傻瓜可以写出机器读得懂代码,但写出让人能读懂的代码的是优秀程序员 作用:通过Excel文件中的一列数据作为文件名创建Word文档,并将Excel中的一行数据填一表,实现自动化 Excel的VBA宏代码 ...

  6. Linux关闭防火墙步骤

    1   先查询防火墙状态 [root@old-09 ~]# /etc/init.d/iptables status Table: filter Chain INPUT (policy ACCEPT) ...

  7. 对编译特性(* ASYNC_REG = “TRUE” *)的理解

    (*ASYNC_REG = "TRUE"*)命令用于声明寄存器能够接收相对于时钟源的异步数据,或者说寄存器是一个同步链路上正在同步的寄存器.这条命令可以放在任何寄存器上,除了设置它 ...

  8. SharePoint Framework 企业向导(二)

    博客地址:http://blog.csdn.net/FoxDave 开发者视角 SharePoint开发者,无论是新手还是有经验的,都可以从SPFx中获取一些东西.当前SPFx的发布版本专注于以一 ...

  9. 玩转 React【第02期】:恋上 React 模板 JSX

    往期回顾 前文中我们讲解了利用 ReactElement 来编写React程序,但是我们也看到这种方式编写 React 特别的麻烦,而且层级结构特别不清晰.今天我们来看一种优雅的编写React的代码的 ...

  10. Appium 自带的定位工具 Inspector

    前言:Appium Inspector是appium自带的一个元素定位工具 一.设置appium 1.点开android setting界面(机器人图标) 2.勾选Application Path,添 ...