Linux源码编译安装Nginx

1,040 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第16天,点击查看活动详情

Nginx是一个高性能的HTTP和反向代理web服务器,由俄罗斯软件工程师所作,下面演示在CentOS 7下编译安装Nginx。

1.访问Nginx下载页面

#nginx源码下载地址
http://nginx.org/en/download.html

2.下载Nginx源码包

选择一个稳定的版本,如nginx-1.20.0,利用wget下载到服务器上。

#利用wget命令下载源码到服务器
wget http://nginx.org/download/nginx-1.20.0.tar.gz

img

3.编译安装nginx

#解压下载的文件
tar -xf nginx-1.20.0.tar.gzcd nginx-1.20.0
#创建nginx用户,防止nginx运行权限过高
useradd nginx
#预配置
./configure \--prefix=/usr/local/nginx \   
\usr\local\nginx--user=nginx \              
--group=nginx \                
--with-http_ssl_module         
make && make instal

4.查看Nginx目录

编译完成后,在/usr/local/nginx目录下会生成编译好的nginx目录。

ls /usr/local/nginx
sbin conf html logs

5.启动nginx

cd /usr/local/nginx/sbin && ./nginx

用网页访问服务网址,出现以下页面,则nginx安装成功。 如果不成功请检查是否关闭防火墙或开放80端口。

nginx

从上一节可以知道,在编译安装Nginx软件包的时候,需要配置编译的参数,我们使用的是最小化配置。

./configure \
--prefix=/usr/local/nginx \   
\usr\local\nginx
--user=nginx \								
--group=nginx \								
--with-http_ssl_module	

在以上参数中,--prefix为安装目录,默认为/usr/local/nginx,也就是不配置的时候默认安装至此路径。--user与--group为指定账户名称与指定组名称。--with-http_ssl_module为支持https时使用。

Nginx还有更多的扩展功能通过加载模块实现,下面开始介绍

--with-stream

从Nginx 1.9.0版开始,Nginx模块可用。这个模块在默认情况下不是构建的,应该使用--with-stream配置参数来启用它。(1.9.0之前的版本则不支持stream,也就是不支持tcp模块),通过它可使用Nginx进行四层代理。

使用方法

将需要代理的方法写在stream里,通过以下的方法,我们可以将Nginx用于代理ssh或其它TCP协议。

如:将本机的12345端口负载转发给192.168.100.100和192.168.100.200的22端口。

#这里需要在stream里定义
stream {
	upstream backssh {
		server 192.168.100.100:22;
		server 192.168.100.200:22;
	}
	server {
		listen 12345;
		proxy_pass backssh;
	}
}

--with-http_stub_status_module

开启此模块后方便统计网站的访问数,并在需要统计的网站下面使用以下配置。

其中status关键字可选,可任意修改为我们需要的字符串。

location /status {
	stub_status on;
}

访问效果 #一行,实实并发量
#二行,类计值:tcp数量 udp数量 点击量
#三行,操作状态
如果此连接状态不想被其它人看见,可以加上allow或deny等关键字,如下面的配置方法把IP替换为可以访问的IP地址,以实现安全访问。

location /status {
	stub_status on;
	allow IP;
	deny all;
}