1. Nginx 配置文件总览;
- Nginx服务器搭建好后,要想实现更强大的功能,就要对其进行配置。
cd /usr/local/nginx/conf/
vim nginx.conf
worker_processes 1
events {
worker_connections 1024;
}
http{
}
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
}
}
2. Nginx 虚拟主机配置;
- Nginx 虚拟主机配置步骤
- 通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分成很多虚拟的子服务器,每个子服务器都是相互独立的使用、可以供一组用户使用。这不是通过硬件,而是根据虚拟化技术分出来的,这样一台服务器就可以虚拟成很多台子服务器。我们把子服务器就做虚拟主机。
- 搭建好 Nginx 服务器之后,此时只有一台 Nginx 服务器,这时候如果我们队这台服务器进行虚拟主机配置,就可以将一台 Nginx 服务器分隔成多台独立的子服务器。
- Nginx 中配置虚拟主机的步骤主要有两个。
- 第一步是配置 IP 地址,也就是后续绑定 IP 地址与虚拟主机做一个前提的准备,也就是配置虚拟主机的 IP 地址。
- 第二步是绑定 IP 地址与虚拟主机。比如配置的 192.168.1.216 是一个 IP 地址,这个 IP 地址在第二步的时候要与一个虚拟主机进行绑定。
- IP 地址的配置
ifconfig
ifconfig hua-bridge 192.168.1.218 netmask 255.255.255.0
ifconfig xxx-bridge:1 192.168.1.220 broadcast 192.168.1.255 netmask 255.255.255.0
ifconfig xxx-bridge:2 192.168.1.221 broadcast 192.168.1.255 netmask 255.255.255.0
- Nginx 虚拟主机配置
- 在配置好了 IP 地址之后,我们需要将对应的 IP 地址与对应的虚拟主机联系,这一步叫做虚拟主机配置。
cd /usr/local/nginx/conf/
vim xunizhuju.conf
user nobody;
worker_processes 4;
events {
worker_connections 1024;
}
http{
server{
listen 192.168.1.220:80;
server_name 192.168.1.220;
access_log logs/server1.access.log combined;
location / {
index index.html index.htm index.php;
root html/server1;
}
}
server{
listen 192.168.1.221:80;
server_name 192.168.1.221;
access_log logs/server2.access.log combined;
location / {
index index.html index.htm index.php;
root html/server2;
}
}
}
mkdir /usr/local/nginx/html/server1
mkdir /usr/local/nginx/html/server2
vim /usr/local/nginx/html/server1/index.html
This is server1!
vim /usr/local/nginx/html/server2/index.html
This is server2!
pkill -9 nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xunizhuji.conf
3. Nginx 日志和文件配置;
- Nginx 日志文件格式配置
- Nginx服务器在运行的时候,会有各种操作,这些关键的操作信息会记录到文件中,这些文件叫日志文件。
- 日志文件的记录是有格式的,我们可以按照系统默认的格式去记录,也可以按我们自定义的格式去记录。
- 可以使用
log_format
指令来设置 Nginx 服务器的日志文件的记录格式。
cd /usr/local/nginx/conf/
vim nginx.conf
/log_format // 查找关键字
- Nginx 日志文件储存路径配置
- 日志文件在记录的时候,需要储存到磁盘上,储存的路径是可以配置的。通常通过 access_log 指令来配置 Nginx 的日志文件的存储路径
/access_log // 查找关键字
- Nginx 日志文件的切割
- 为了使 Nginx 的日志文件存储更合理、有序,我们需要将日志文件进行分开储存,比如我们可以按时间来分开。
cd /usr/local/nginx/logs/
mv access.log 20190706.log
ps -ef | grep nginx
kill -USR1 xxx
vim cutlog.sh
D=$(date +%Y%m%d)
mv /usr/local/nginx/logs/access.log ${D}.log
kill -USR1 $(cat /usr/local/nginx/nginx.pid)
chmod 777 ./cutlog.sh
crontab -e
23 59 *** /bin/bash /usr/local/nginx/logs/cutlogs.sh
4. Nginx 缓存配置和其它配置。
- Nginx 缓存配置详解
- 当我们在浏览器中浏览网页时,我们会把该网页上的一些信息(比如网页上的图片)储存到本地,当我们第二次浏览该网页的时候,这个网页上的某些信息就可以从本地加载,这样速度就可以快很多。储存到本地的这些信息我们把其称之为缓存。
- 但是缓存过多的时候,缓存文件就会非常大,影响我们正常的上网活动。所以缓存需要定期清理。在 Nginx 中,缓存是可以配置的。
cd /usr/local/nginx/conf/
vim nginx.conf
location ~.*\.(jpg|png|swf|gif)$ {
expires 30d;
}
location ~.*\.(css|js)?$ {
expires 1h;
}
- Nginx 的其他配置 - 压缩功能配置
- 这里提到的压缩功能指的是 gzip 压缩技术。通过 gzip 压缩技术,可以使原来的网页内容大小压缩成成原来的 30%,这样用户访问网站页面速度会快很多。
cd /usr/local/nginx/conf/
vim nginx.conf
/gzip // 查找关键字
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_vary on;
- Nginx 的其他配置 - 自动列目录配置
- 当客户端通过浏览器访问服务器上某一文件夹的时候,如果该文件夹有默认的首页文件,比如 index.html,那么用户就会自动访问到 index.html 这个网页
- 但是如果没有 index.html 这一类默认首页文件的时候,假设此时该文件夹还有其它文件,在没有配置自动列目录的功能的情况下,用户访问不到这个文件夹的内容。
- 但当我们配置好了自动列目录的时候,我们就可以看到该文件夹下所有文件的一个列表,该列表目录是自动列的。
- 实现自动列目录需要两个条件:访问的文件夹下不存在 index 之类的默认首页文件以及服务器配置了自动列目录功能。
cd /usr/local/nginx/conf/
vim nginx.conf
autoindex on
killall -9 nginx // 没有 killall 可以 yum install psmisc
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf