1、安装Nginx依赖库
在进行Nginx服务器的安装之前,首先需要安装好Nginx服务器所用到的依赖。
安装依赖用到的相关命令:
#安装gcc g++的依赖库
sudo apt-get install build-essential
sudo apt-get install libtool
# 安装依赖包openssl安装
sudo apt-get install openssl libssl-dev
# 安装依赖包pcre安装
sudo apt-get install libpcre3 libpcre3-dev
# 安装依赖包zlib安装
sudo apt-get install zlib1g-dev
2、 安装Nginx
1)、使用解压命令
tar -zxvf nginx-1.11.5.tar.gz
2)、./config
3)、sudo make && make install
4)、然后进入目录:
/usr/local/nginx/sbin/nginx 启动服务
如果没有之前的配置都是成功,这一步没有成功,可能是因为防火墙的问题。
在Windows系统中访问linux中的Nginx,默认是不能访问的。
解决方法:
1)、设置开放端口号:
firewall-cmd --add-port=80/tcp --permanent
注:nginx默认的端口为80 对于Http请求如果不指定端口,默认监听的就是80
端口的修改,可以在Nginx的配置文件中修改
配置文件的位置:
/usr/local/nginx/conf/nginx.conf
注:
如果提示出现:
firewall-cmd: command not found
使用如下命令即可:
sudo apt-get install firewalld
2)、重启防火墙:
firewall-cmd --reload
3)、重启后,查看开放的端口号:
firewall-cmd --list-all
4)、重启服务器即可
./nginx
3、nginx的常用命令:
使用nginx命令的前提条件,必须进入nginx的目录:/usr/local/nginx/sbin
常用命名:
1)、查看nginx的版本号
./nginx -v
2)、启动nginx
./nginx
3)、关闭nginx
./nginx -s stop
4)、重新加载nginx(不重启服务器,就让配置生效)
./nginx -s reload
5)、用进程方式查看nginx的工作状态。
ps -ef | grep nginx
4、Nginx的配置文件详解
//第一部分 全局块 这部分只要设置一些影响nginx服务器整体运行的配置指令
/*这是Nginx服务器并发处理服务的关键配置,值越大,可以支持的并发处理量就越多
但是会收到硬件、软件等设备的制约*/
worker_processes 1;
/*第二部分 events块
这一部分的指令主要影响Nginx服务器与用户的网络连接。常用的设置包括:
是否开启对多 worker_processes下的网络连接进行序列化;
是否允许同时接受多个网络连接;
选取哪种事件驱动模型来处理连接请求;
每个worker_processes可以同时支持的最大连接数,这个值最大是1024
强调:
这部分的配置对Nginx的性能影响较大,在实际应用中,应该灵活配置
*/
events {
//表示支持的最大连接数是1024
worker_connections 1024;
}
//第三部分 http块
/*
这部分,是Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都在这里
注意: http块 可以包括 http全局块 和 server块
每个http块可以包括多个server块,每个server块就相当于一个虚拟主机
每个server块也分为全局server块,以及可以同时包含多个location块
*/
/*
http全局块:
http全局块配置的指令包括 文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求上限数等
*/
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
/*
server块
这块和虚拟主机有密切的关系。虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了互联网服务器硬件成本。
*/
//全局server块
server {
//Nginx目前监听的端口号 是 80
listen 80; //修改此处,可以更改默认的端口号
//表示主机名称是 localhost
server_name localhost;
//location块
location / {
root html;
index index.html index.htm;
}
location = /50x.html {
root html;
}
}
}
注:
1、当nginx接到请求后,会匹配其配置中的server模块,
匹配方法就是靠请求携带的host和port正好对应其配置中的server_name 和listen。
如果做过ip和域名绑定,ip和域名二者是对等的
比如服务器的ip地址为:10.3.78.55,在域名www.123.com和ip已经绑定的情况下,那么在上面的配置中的server_name无论是www.123.com还是10.3.78.55,我们都可以通过10.3.78.55:8080或www.123.com:8080来访问我们的网站
2、80端口是服务器提供网站访问服务的默认端口,在访问一个网站例如:www.9410.com.cn的时候,实际的完整地址是http://www.9410.com.cn:80,省略为www.9410.com.cn,这时候在做域名解析的时候完全不需要考虑端口的问题。
3、当用的不是默认端口的时候,比如服务器提供网页访问服务但用的端口是81的时候,就只能使用以下两种方式来解决了:
1),还是用域名指向功能,将域名直接解析到ip上,也就是在域名后加“:端口号”,即通过http://www.abc.com:81来访问;
2),改用域名url转发功能,假如ip是123.123.123.123,端口是81,那么设置www.abc.com转发到http://123.123.123.123:81。