文章目录
- 前言
- 一、nginx安装(保姆级教程)
- 1.安装nginx依赖
- 2.安装wget
- 3.创建nginx安装目录
- 4.下载nginx
- 5.查看下载好的nginx
- 6.解压缩
- 7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件
- 8.安装nginx
- 9.查看nginx安装目录并启动nginx
- 10.网络请求测试nginx是否正常
- 二、外部电脑访问nginx设置
- 方法一:关闭防火墙
- 方法二:添加防火墙端口(nginx默认端口:80,如果修改了nginx端口,添加端口的时候要注意对应)
- 三、常用编译选项说明
- 四、nginx相关操作命令
- 1.查看nginx进程
- 2.nginx启动、停止、重启命令、查看安装目录
- 3.nginx.conf配置文件
前言
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
一、nginx安装(保姆级教程)
1.安装nginx依赖
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.安装wget
yum -y install wget
3.创建nginx安装目录
-
/usr/local/目录下创建nginx文件夹
mkdir /usr/local/nginx
-
切换到/usr/local/nginx/目录
cd /usr/local/nginx/
4.下载nginx
wget https://nginx.org/download/nginx-1.8.0.tar.gz
5.查看下载好的nginx
6.解压缩
tar -xvf nginx-1.8.0.tar.gz
7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件
8.安装nginx
-
配置nginx(考虑到后续安装ssl证书 添加两个模块)
--with-http_stub_status_module
:用来监控 Nginx 的当前状态--with-http_ssl_module
:使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装./configure --with-http_stub_status_module --with-http_ssl_module
-
编译
make
-
安装
make install
9.查看nginx安装目录并启动nginx
-
查看nginx安装目录
whereis nginx
-
切换到 /usr/local/nginx/sbin目录
cd /usr/local/nginx/sbin
-
启动ngin
./nginx
10.网络请求测试nginx是否正常
curl http://localhost:80
二、外部电脑访问nginx设置
方法一:关闭防火墙
systemctl stop firewalld
方法二:添加防火墙端口(nginx默认端口:80,如果修改了nginx端口,添加端口的时候要注意对应)
-
添加防火墙端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
-
重新载入(使修改的操作生效)
firewall-cmd --reload
三、常用编译选项说明
nginx大部分常用模块,编译时./configure –help以–without开头的都默认安装。
--prefix=PATH
:指定nginx的安装目录。默认 /usr/local/nginx--conf-path=PATH
:设置nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf--user=name
:设置nginx工作进程的用户。安装完成后,可以随时在nginx.conf配置文件更改user指令。默认的用户名是nobody。–group=name类似--with-pcre
:设置PCRE库的源码路径,如果已通过yum方式安装,使用–with-pcre自动找到库文件。使用–with-pcre=PATH时,需要从PCRE网站下载pcre库的源码(版本4.4 – 8.30)并解压,剩下的就交给Nginx的./configure和make来完成。perl正则表达式使用在location指令和 ngx_http_rewrite_module模块中。--with-zlib=PATH
:指定 zlib(版本1.1.3 – 1.2.5)的源码解压目录。在默认就启用的网络传输压缩模块ngx_http_gzip_module时需要使用zlib 。--with-http_ssl_module
:使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装--with-http_stub_status_module
:用来监控 Nginx 的当前状态--with-http_realip_module
:通过这个模块允许我们改变客户端请求头中客户端IP地址值(例如X-Real-IP 或 X-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的IP地址--add-module=PATH
:添加第三方外部模块,如nginx-sticky-module-ng或缓存模块。每次添加新的模块都要重新编译(Tengine可以在新加入module时无需重新编译)
四、nginx相关操作命令
1.查看nginx进程
-
查看nginx进程是否启动
ps -ef | grep nginx
2.nginx启动、停止、重启命令、查看安装目录
-
查看nginx安装目录
whereis nginx
-
进入nginx安装目录的sbin目录
cd /usr/local/nginx/sbin/
-
启动nginx
./nginx
-
关闭nginx
./nginx -s stop
-
重启nginx
./nginx -s reload
3.nginx.conf配置文件
Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。main部分设置的指令将影响其它所有部分的设置;server部分的指令主要用于指定虚拟主机域名、IP和端口;upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;location部分用于匹配网页位置(比如,根目录"/“,”/images",等等)。他们之间的关系式:server继承main,location继承server;upstream既不会继承指令也不会被继承。它有自己的特殊指令,不需要在其他地方的应用。