一起养成写作习惯!这是我参与「掘金日新计划 · 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
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软件包的时候,需要配置编译的参数,我们使用的是最小化配置。
./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;
}