Nginx下载安装 , 多虚拟主机 , nginx访问日志

时间:2021-02-07 12:47:57
Nginx下载安装 , 多虚拟主机 , nginx访问日志
 
 
nginx安装步骤,源码编译安装(源码编译,可以自定制更多功能) openssl
 
1.解决软件正常运转所需依赖包,
yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
 
2.下载源代码
在/opt/目录下下载
cd opt/
 
3.解压缩
也是在opt目录下进行解压到/opt/目录里面
tar -zxvf nginx-1.12.0.tar.gz
 
4.进入源码目录,编译安装
./configure --prefix=/opt/nginx112/        #这里的 nginx112 可以自己取
make
make install
 
5.进入nginx安装好的目录
cd /opt/nginx112/
 
 
6.学习nginx功能目录,nginx主目录结构如下
[root@s16ds nginx112]# ls
conf     配置文件nginx.conf(nginx的功能参数,都在这个文件定义了)
html      存放前端页面
logs    存放nginx的运行日志,错误日志
sbin    存放nginx可执行程序的目录
 
 
7.卸载原本的yum安装的nginx
yum remove nginx -y
 
 
8.添加nginx的环境变量,可以快捷使用nginx
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/node-v8.6.0-linux-x64/bin:/opt/nginx112/sbin"
 
 
9.学习nginx.conf 核心配置
 
#nginx web核心功能在这里已定义
http {
    #定义nginx虚拟主机的  
    server {
        #nginx监听的端口,默认浏览器是80
        listen       80;
        #填写服务器的域名,如果你有域名,nginx会解析到当前这个虚拟主机
        #当我访问pythonav.cn:80
        server_name  pythonav.cn;
 
        #location就是nginx的路径资源匹配,
        #就是当我请求
        #pythonav.cn
        #pythonav.cn/man.jpg
        #pythonav.cn/av/pian.mp4
        #这个 location  /  这个语法是万能匹配,你所有的请求,都会进入这个location
        location / {
            #这个root参数,用于定义网页根目录,路径
            root   html;
            #定义网页的首页文件,名字且必须叫做index.html
            index  index.html index.htm;
        }
 
        error_page  404              /404.html;
    }
 
}
 
 
 
10.nginx多虚拟主机
ip 和域名的关系  一对多
 
在自己的linux服务器上,运行2个网站
 
nginx.conf定义多虚拟主机配置如下:
 
 
http{
    #虚拟主机1,我门用它运行,吃鸡网站
    server{
        listen 80;
        #当我访问的域名是 s16chiji.com ,就进入这个server标签
        server_name   s16chiji.com;
            location  / {
                #返回/opt/s16chiji目录下的内容
                root  /opt/s16chiji/;
                index index.html;
            }
 
    }
    #虚拟主机2,用它运行,s16韩剧网站
    server{
        listen 80;
        server_name   s16hanju.com;
        location / {
            root  /opt/s16hanju;
            index index.html;
        }
 
    }
    
}
 
 
 
 
11.配置两个虚拟主机的网站资源
    1.配置吃鸡网游的资料
    在/opt/s16chiji 目录下创建index.html
    先要创建s16chiji这个文件夹,进入到opt/里面输入创建命令
    mkdir s16chiji
    再创建index.html文件
    touch index.html
    
    
    2.配置韩剧网址
    在/opt/s16hanju 目录下创建index.html
    先要创建s16hanju这个文件夹,进入到opt/里面输入创建命令
    mkdir s16hanju
    再创建index.html文件
    touch index.html
    
    
    3.配置两个本地解析的域名 ,问题?去linux下还是windows下配置??
    在本地 修改C:\Windows\System32\drivers\etc\hosts文件,写入如下配置
        192.168.15.71   s16chiji.com
        192.168.15.71   s16hanju.com
    
    4.在windows下测试访问 是否正常
    
 
提示: nginx配置文件里面的配置的server相关的{}这种大括号容易产生错误,两个server配置是相互独立的
路径:        cd /opt/nginx112/conf/ 
                vim nginx.conf    
 
提示: 关闭防火墙
        iptables -F
    
    
 
12.定义nginx错误页面优化 404页面定制
    修改nginx.conf ,找到如下参数
    
    #通过这个参数,定义错误页面的文件  ,当状态码是 404 400 401 时,返回40x.html页面
    server
    error_page  404 401 400 403              /40x.html;
放在server里面
Nginx下载安装 , 多虚拟主机 , nginx访问日志Nginx下载安装 , 多虚拟主机 , nginx访问日志
 
修改之后重启nginx
/opt/nginx112/sbin/nginx -s reload
重新连接页面,查看错误页面是否改变 
 
    
    
    
13.nginx用访问 日志access.log
/opt/nginx112/conf/  此路径下的conf文件
找到nginx.conf开启如下功能
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
access_log  logs/access.log  main;
 
 
 
配置填写完毕后,重启nginx,加载功能
已经修改过nginx全局变量就不用在绝对路径下去重启nginx,直接输入
nginx -s reload