Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器。
特点1:存储前端资源,包括html,js,css等多媒体资源
特点2:反向代理(由nginx代理访问后台的服务器,例如tomcat)
Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名。
---------------------------------------------------------------------------------------------------------------------------------
Nginx 的安装
安装包下载网站:http://nginx.org/download/nginx-1.14.2.tar.gz
安装前准备操作:
1、在linux中检查是否安装了相关的库
(1)gcc编译器是否安装
检查是否安装:yum list installed | grep gcc
执行安装:yum install gcc -y
(2)openssl库是否安装
检查是否安装:yum list installed | grep openssl
执行安装:yum install openssl openssl-devel -y
(3)pcre库是否安装
检查是否安装:yum list installed | grep pcre
执行安装:yum install pcre pcre-devel -y
(4)zlib库是否安装
检查是否安装:yum list installed | grep zlib
执行安装:yum install zlib zlib-devel -y
(5)一次性安装,执行如下命令
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
2、使用xshell工具将安装包复制到linux中;
3、解压安装包
解压安装包的命令:
tar -zxvf nginx-1.14.2.tar.gz
4、进入解压后的文件夹的主目录
1、执行命令:cd nginx-1.14.2
2、执行后接着执行命令:./configure --prefix=/usr/local/nginx----------【其中--prefix是指定nginx安装路径) 注意:等号左右不要有空格】
3、执行编译命令:make
4、执行命令进行安装:make install
5、安装成功后,可切换到/usr/local/nginx目录下,查看内容;该目录下应该有四个文件夹【conf,html,logs,sbin】
---------------------------------------------------------------------------------------------------------------------------------
命令:
1、启动nginx:
./nginx
或
./nginx -c /usr/local/nginx/conf/nginx.conf
*****前提:::切换到nginx安装目录的sbin目录下
2、检查nginx是否启动成功
查看进程:ps -ef | grep nginx
3、关闭nginx
一次关闭主进程号+子进程==找出nginx的进程号:ps -ef | grep nginx =====>>执行命令:kill -QUIT 主pid======【pid为主进程的端口号】
或
找出nginx的进程号:ps -ef | grep nginx=====>>kill -TERM 主pid
***********这两种方式的区别是:第一种方式执行后会直接关闭nginx,包括子进程也会关闭::::而第二种方式只会关闭pid的端口号的进程,假如主进程和子进程特别多的时候,需要使用第一种方式来关闭nginx
4、重启nginx
./nginx -s reload
5、配置检查
当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确
./nginx -c /usr/local/nginx/conf/nginx.conf -t
6、查看版本号
查看nginx版本:/usr/local/nginx/sbin/nginx -V
-v (小写的v)显示 nginx 的版本
-V (大写的V)显示 nginx 的版本、编译器版本和配置参数
**************************************************************************************************************
nginx 体系结构由 master 进程和其 worker 进程组成
master 进程读取配置文件,并维护 worker 进程,而 worker 进程则对请求进行实际处理
Nginx启动后,安装目录下会出现一些_tmp结尾的文件,这些是临时文件,不用管
**************************************************************************************************************
测试访问:端口号为80;ip为linux的ip地址
----------------------------------我是分割线--------------------------------------------------------------------------------
关于nginx的配置文件的修改:
1、基本配置:配置工作进程数目;一般根据硬件来调整,工作进程=cpu的数量或工作进程=2*cpu的属性
2、events配置::配置每个worker进程连接数上限
3、http配置:
#配置http服务器,利用它的反向代理功能提供负载均衡支持
http {
#配置nginx支持哪些多媒体类型,可以在conf/mime.types查看支持哪些多媒体类型
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日志及存放路径,并使用上面定义的main日志格式
#access_log logs/access.log main;
sendfile on; #开启高效文件传输模式
#tcp_nopush on; #防止网络阻塞
#keepalive_timeout 0;
keepalive_timeout 65; #长连接超时时间,单位是秒
#gzip on; #开启gzip压缩输出
###-----------------------------------------------
#配置虚拟主机
server {
listen 80; #配置监听端口
server_name localhost; #配置服务名
#charset koi8-r; #配置字符集
#access_log logs/host.access.log main; #配置本虚拟主机的访问日志
#默认的匹配斜杠/的请求,当访问路径中有斜杠/,会被该location匹配到并进行处理
location / {
#root是配置服务器的默认网站根目录位置,默认为nginx安装主目录下的html目录
root html;
#配置首页文件的名称
index index.html index.htm;
}
#error_page 404 /404.html; #配置404页面
# redirect server error pages to the static page /50x.html
#error_page 500 502 503 504 /50x.html; #配置50x错误页面
#精确匹配
location = /50x.html {
root html;
}
#PHP 脚本请求全部转发到Apache处理
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
#PHP 脚本请求全部转发到FastCGI处理
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
#禁止访问 .htaccess 文件
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}