nginx 服务器搭建
nginx 服务器
文章目录
简介:
Nginx
(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了 IMAP/POP3/SMTP
服务。Nginx
是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru
站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4
发布。
Nginx
是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3
)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx
的并发能力在同类型的网页服务器中表现较好,*使用 nginx
网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
http://nginx.org/en/download.html
Nginx
官网提供了三个类型的版本
-
Mainline version:
Mainline
是Nginx
目前主力在做的版本,可以说是开发版 - **Stable version:**最新稳定版,生产环境上建议使用的版本
- **Legacy versions:**遗留的老版本的稳定版
ngin 功能 |
说明 | |
---|---|---|
http 服务器 |
类似于 tomcat ,它可以发布纯静态项目 |
|
虚拟主机 | 实现一台服务器虚拟多个站点 | |
反向代理/负载均衡 | 解决站点的高并发 |
Win10 搭建
下载后解压,目录结构:
基本目录:
conf
:配置目录
contrib
:第三方依赖
html
:默认的静态资源目录,类似于 tomcat
的 webapps
logs
:日志目录
nginx.exe
:启动程序。可双击运行,但不建议这么做。
反向代理配置
示例:
nginx
中的每个 server
就是一个反向代理配置,可以有多个 server
使用
nginx
可以通过命令行来启动,操作命令:
- 启动:
start nginx.exe
- 停止:
nginx.exe -s stop
- 重新加载:
nginx.exe -s reload
启动过程会闪烁一下,启动成功后
Linux 搭建
2.1. 要求的安装环境
2.1. 需要安装 gcc
的环境
yum install gcc-c++
2.2. 第三方的开发包 PCRE
PCRE(Perl Compatible Regular Expressions)
是一个Perl库,包括 perl
兼容的正则表达式库。nginx
的http模块使用 pcre
来解析正则表达式,所以需要在 linux
上安装 pcre
库。
yum install -y pcre pcre-devel
注:pcre-devel
是使用 pcre
开发的一个二次开发库。nginx
也需要此库
zlib
zlib
库提供了很多种压缩和解压缩的方式,nginx
使用 zlib
对http包的内容进行 gzip
,所以需要在 linux
上安装 zlib
库。
yum install -y zlib zlib-devel
openssl
OpenSSL
是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的**和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx
不仅支持http协议,还支持https(即在 ss
l协议上传输http),所以需要在 linux
安装 openssl
库。
yum install -y openssl openssl-devel
或者一条命令即可
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2.2. nginx
安装步骤
第一步:
把 nginx
的源码包上传到 linux
系统
第二步
解压 nignx
的源码包
tar -zxvf nginx-1.18.0.tar.gz
第三步
进入 nginx-1.18.0
目录
cmd nginx-1.18.0
第四步
安装配置 指定安装地址为 /usr/local/nginx
./configure --prefix=/usr/local/nginx
编译
make
编译安装
make install
2.3. 开放端口
-
Centos 7
安装服务器
yum install iptables-services
- 编译防火墙
vi /etc/sysconfig/iptables
- 开发 80 端口
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #80端口开放
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #3306端口开
-I INPUT -s 113.106.93.110 -p tcp --dport 8089 -j DROP #禁止指定IP访问 8089
-I INPUT -s 113.106.93.110 -p tcp --dport 8080 -j ACCEPT #开放固定ipIP访问 8080
重启防火墙使
systemctl restart iptables.service
停止防火墙
systemctl stop firewall.service
禁止 firewall
开机启动
systemctl disable firewall.service
**设置 iptables
防火墙为开机启动项 **
systemctl enable iptables.service
2.4. 启动
- 进入
/usr/local/nginx/sbin
目录
cd /usr/local/nginx/sbin/
- 启动
./nginx
- 重启
./nginx -s reload
- 查看是否启动成功
ps -ef | grep nginx
开机自启动
1.即在rc.local
增加启动代码就可以了。
vi /etc/rc.local
2.增加一行
/usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local
访问
- 查看是否启动成功
ps -ef | grep nginx
[外链图片转存中…(img-2zRmKGWP-1597679166441)]
开机自启动
1.即在rc.local
增加启动代码就可以了。
vi /etc/rc.local
2.增加一行
/usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local