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
/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