一、Nginx官网:
http://nginx.org/ --开源的软件包网站
http://nginx.com/ --nginx官方自述网站
二、安装Nginx软件(这里使用yum安装)
# yum -y install epel* --先安装epel扩展yum源仓库
# yum clean all
# yum repolist
# yum info nginx --查找yum有没有nginx软件包
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* epel: mirrors.ustc.edu.cn
* extras: mirrors.cn99.com
* updates: mirrors.cn99.com
# yum -y install nginx --安装nginx
# yum源安装的nginx配置文件和网站数据目录和编译安的路径不一致
/etc/nginx/nginx.conf --配置文件路径
/usr/share/nginx/html --网站数据目录
/var/log/nginx/ --日志文件所在路径,access.log(访问日志),error.log(错误日志)
三、nginx基本功能
1. 启动nginx,(Nginx默认端口为80)
先查看一下80端口是否被占用,占用的话先停掉Apache(因Apache默认是80端口,如果是其它程序占用,则停掉占用80端口的程序)
# lsof -i:80 --查看本机80端口是否被占用
# systemctl start nginx --启动nginx服务
# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1612 root 6u IPv4 24964 0t0 TCP *:http (LISTEN) --主进程ipv4
nginx 1612 root 7u IPv6 24965 0t0 TCP *:http (LISTEN) --主进程ipv6
nginx 1613 nginx 6u IPv4 24964 0t0 TCP *:http (LISTEN) --工作进程ipv4
nginx 1613 nginx 7u IPv6 24965 0t0 TCP *:http (LISTEN) --工作进程ipv4
常用的参数用法:
# nginx -h --查看帮忙文档
# nginx -v --查看版本
# nginx -t --检测配置文件的参数,是否正确,(/etc/nginx/nginx.conf)
# nginx -s --重新加载,停止nginx
1.查看nginx配置文件
cat /etc/nginx/nginxx.conf
user nginx; --指定用户启动nginx
worker_processes auto; --工作进程,auto为自动,如果改成手动、CPU个数 CPU核数
error_log /var/log/nginx/error.log; --指定错误日志文件路径
pid /run/nginx.pid; --指定进程pid文件所在路径
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf; --读取/usr/share/nginx/modules目录下以.conf结尾的文件
events { --事务控制
worker_connections 65535; --每个工作进程,允许的链接数,默认1024
}
http { --代表http访问的正式参数
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 /var/log/nginx/access.log main; --访问日志文件所在路径
sendfile on; --允许发送文件
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 35; --连接超时时间
types_hash_max_size 2048; --允许访问时最大的数据
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server { --单个虚拟主机的开始段
listen 80; --该虚拟主机监听的端口,也可以在端口前面指定ip:port
server_name nginx; --指定本机的主机名
charset utf8; --指定该虚拟主机的字符集,默认没有此参数,要加上
root /usr/share/nginx/html; --指定网站数据目录
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / { --访问ip时以/结尾时转到以下位置
index aa.html; --指定index主页文件,默认没有此参数,要加上
}
error_page 404 /404.html; --定义404错误(404代表访问的路径不对或页面没有),看到的提示内容
location = /404.html { --指定404.html文件所在路径,这里的 / 代表的是前面的root参数的值
}
error_page 500 502 503 504 /50x.html; --定义500 502 503 504错误,看到的提示内容
location = /50x.html { --指定错误代码文件,所在路径
}
} --结束 server 虚拟主机
} --结束 http 协议
配置实例:
1.修改网站目录
vi /etc/nginx/nginx.conf
root /www; --由原来的/usr/share/nginx/html改为/www
# mkdir /www --创建网站数据家目录
# nginx -t --测试配置文件是否有误
# nginx -s reload --重新加载配置
# vi /www/aa.html --修改主页文件
# vi /www/404.html --写404错误页面提示
<h1> 你访问的路径不对,访问有误 </h1>
# vi /www/50x.html --写50x错误页面提示
<h1> 500 502 503 504 错误 </h1>
浏览器访问:http://本机ip --应该看到aa.html的内容
浏览器访问:http://本机ip/fdfsfd --应该看到是404.html的内容
2.基于同一个ip,指定不同端口
vi /etc/nginx/nginx.conf
server {
listen 8080; --修改第一个虚拟主机监听的端口
server_name nginx;
charset utf8;
root /www;
location / {
index login.html; --指定第一个虚拟主机访问的主页
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server { --复制原来的虚拟主机部分
listen 8090; --修改第二个虚拟主机的端口
server_name nginx;
charset utf8;
root /www;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
index second.html; --指定第二个虚拟主机访问的主页文件
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}