Nginx 网站服务 编译安装 访问统计 控制 虚拟主机

news/2024/5/16 18:45:09/文章来源:https://blog.csdn.net/Ora_G/article/details/107866521

文章目录

  • Nginx介绍
    • 对比Apache
  • 编译安装 Nginx 步骤
    • 安装依赖
    • 创建管理用户
    • 解压 nginx 包
    • 编译安装 Nginx
    • 让系统可以控制 nginx
    • ngxin 访问统计
    • 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网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。
无缓存的反向代理加速,简单的负载均衡和容错。
FastCGI,简单的负载均衡和容错。
模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI。

对比Apache

相较于 Apache,Nginx更擅长于静态页面的制作,比如 html,css,图片及文字之类的,所以动态页面时Nginx的短板,但是也不是没办法解决,编译安装是加入 php-fpm模块,就可。
同时,Nginx很稳定,对系统占用的资源相对较低,对HTTP高并发的处理能力相对更强,单台Nginx网站服务器,可以支持 30000-50000个并发请求。

编译安装 Nginx 步骤

安装依赖

yum install pcre-devel zlib zlib-devel openssl openssl-devel -y
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

更新完毕:openssl.x86_64 1:1.0.2k-19.el7                                         作为依赖被升级:e2fsprogs.x86_64 0:1.42.9-17.el7                                       e2fsprogs-libs.x86_64 0:1.42.9-17.el7                                  krb5-libs.x86_64 0:1.15.1-46.el7                                       krb5-workstation.x86_64 0:1.15.1-46.el7                                libcom_err.x86_64 0:1.42.9-17.el7                                      libkadm5.x86_64 0:1.15.1-46.el7                                        libselinux.x86_64 0:2.5-15.el7                                         libselinux-python.x86_64 0:2.5-15.el7                                  libselinux-utils.x86_64 0:2.5-15.el7                                   libss.x86_64 0:1.42.9-17.el7                                           openssl-libs.x86_64 1:1.0.2k-19.el7                                    完毕!

创建管理用户

[root@5centos ~]# useradd -M -s /sbin/nologin nginx

解压 nginx 包

[root@5centos ~]# cd /opt/
[root@5centos opt]# mkdir bianyi
[root@5centos opt]# cd bianyi/
[root@5centos bianyi]# rz -E     ##Xshll 拖拽压缩包
rz waiting to receive.
[root@5centos bianyi]# tar zxvf nginx-1.12.2.tar.gz
[root@5centos bianyi]# ls
nginx-1.12.2  nginx-1.12.2.tar.gz
[root@5centos bianyi]# cd nginx-1.12.2/

编译安装 Nginx

[root@5centos bianyi]# cd nginx-1.12.2/
[root@5centos nginx-1.12.2]# ls
auto     CHANGES.ru  configure  html     man     src
CHANGES  conf        contrib    LICENSE  README
[root@5centos nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
[root@5centos nginx-1.12.2]# make && make install
[root@5centos /]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
##/usr/local/sbin:   存放超级用户才能使用的第三方软件,如nginx
[root@5centos /]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@5centos /]# nginx   ##开启服务
[root@5centos /]# netstat -ntap |grep nginx   ##检查端口
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      24207/nginx: master

在这里插入图片描述[root@localhost ~]# killall -s HUP nginx ##-S选项指定信号种类,HUP信号表示重载配置’
[root@localhost ~]# killall -s QUIT nginx ##QUIT信号表示退出进程

让系统可以控制 nginx

一、让 systemctl 可以控制

[root@5centos system]# vim nginx.service
[Unit]
Description=nginx
After=network.target[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -S HUP $MAINPID
ExecStop=/usr/bin/kill -S QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target[root@5centos /]# systemctl start nginx
[root@5centos /]# netstat -natp |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      24983/nginx: master 
[root@5centos /]# systemctl stop nginx
[root@5centos /]# systemctl stop nginx
[root@5centos /]# 

二、让 service 可以进行控制

[root@5centos /]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" instart)$PROG;;stop)kill -s QUIT $(cat $PIDF);;restart)$0 stop$0 start;;reload)kill -s HUP $(cat $PIDF);;*)echo "Usage: $0 {start|stop|restart|reload}"exit 1
esac
exit 0
[root@5centos /]# service nginx start
[root@5centos /]# netstat -natp |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      25253/nginx: master
[root@5centos /]# service nginx stop
[root@5centos /]# netstat -natp |grep nginx
[root@5centos /]# 

ngxin 访问统计

location / {root   html;index  index.html index.htm index.php;}找到上面的,在下面添加如下local /status{stub_status on;access_log off;}

在这里插入图片描述

nginx 访问控制

一、基于权限

[root@5centos /]# yum -y install httpd-tools   ##需要 htpasswd 
[root@5centos /]# htpasswd -c /usr/local/nginx/passwd.db test
New password: 
Re-type new password: 
Adding password for user test
[root@5centos /]# cat /usr/local/nginx/passwd.db 
test:$apr1$Au2mc6.E$3PCBCpJTQHB9mIo3pz7OS0
[root@5centos /]# chmod 400 /usr/local/nginx/passwd.db 
[root@5centos /]# chown nginx /usr/local/nginx/passwd.db [root@5centos /]# vim /usr/local/nginx/conf/nginx.conflocation / {auth_basic "secret";      ##加这行auth_basic_user_file /usr/local/nginx/passwd.db;   ##加这行root   html;index  index.html index.htm index.php;}[root@5centos /]# systemctl restart nginx
[root@5centos /]# setenforce 0
[root@5centos /]# iptables -F

在这里插入图片描述
在这里插入图片描述
二、基于IP
配置规则
deny IP/IP段:拒绝某个IP或IP段的客户端访问
allow IP/IP段:允许某个IP或IP段的客户端访问
规则从上往下执行,如匹配则停止,不再往下匹配

[root@5centos /]# vim /usr/local/nginx/conf/nginx.conflocation / {deny 20.0.0.6;allow all;#auth_basic "secret";#auth_basic_user_file /usr/local/nginx/passwd.db;root   html;index  index.html index.htm index.php;}
[root@5centos /]# systemctl restart nginx

在这里插入图片描述

虚拟主机

一、基于端口

[root@5centos /]# mkdir -p /var/www/html/8080
[root@5centos /]# cd /var/www/html/8080/
[root@5centos 8080]# vim index.html 
<h1>This 8080 </h1>
[root@5centos 8080]# vim /usr/local/nginx/conf/nginx.conf
可以复制模板 也可以手敲  增加 8080 端口的页面http{……省略……server {listen 20.0.0.5:8080;server_name 20.0.0.5:8080;location / {#deny 20.0.0.6;#allow all;#auth_basic "secret";#auth_basic_user_file /usr/local/nginx/passwd.db;root   /var/www/html/8080;index  index.html index.htm index.php;}
}
……省略……}
[root@5centos 8080]# systemctl restart nginx

在这里插入图片描述

二·、基于 IP
增加一块网卡,IP地址 20.0.0.51
在这里插入图片描述

[root@5centos /]# vim /usr/local/nginx/conf/nginx.confserver {listen 20.0.0.51:80;server_name 20.0.0.51:80;location / {#deny 20.0.0.6;#allow all;#auth_basic "secret";#auth_basic_user_file /usr/local/nginx/passwd.db;root   /var/www/html/8080;index  index.html index.htm index.php;}
}server {listen 20.0.0.5:80;server_name 20.0.0.5:80;location / {
[root@5centos /]# systemctl restart nginx

在这里插入图片描述在这里插入图片描述

三、基于域名
先安装DNS服务,这边不在介绍
域名一:www.ora.com
域名二:www.nge.com

    server {listen 80;server_name www.ora.com;location / {#deny 20.0.0.6;#allow all;#auth_basic "secret";#auth_basic_user_file /usr/local/nginx/passwd.db;root   /var/www/html/8080;index  index.html index.htm index.php;}server {     ##修改本来的listen  80;server_name  www.nge.com;

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_843501.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVS-NAT 负载均衡 轮询模式 从安装部署到访问网站

文章目录话不多说&#xff01;实验环境实验目的来吧&#xff01;&#xff01;展示&#xff01;&#xff01;&#xff01;配置NFS文件服务器配置节点服务器配置 LVS验证实验关于负载均衡的原理&#xff0c;我I在上一篇写的很详细~~(大概吧)~~ 了 链接在这&#xff1a;博客地址点…

asp.net 之web应用程序与web网站的区别

1、编译方式不一样 这个是我认为二者之间最大的区别了&#xff0c;首先&#xff0c;web应用程序中的所有的文件都是 相互独立 的&#xff0c;就是说我的一个文件的改变&#xff0c;或者发生错误不会影响其它的界面&#xff01;但是web网站就不一样了&#xff0c;它其中的一个文…

SharePoint 门户网站的图片轮播-页面定制

这个想法是自己突然的一个想法&#xff0c;想想我们经常用SharePoint做门户网站&#xff0c;不知道你们多数项目都是怎么完成的&#xff0c;我们客户要求的效果都还是很严格的&#xff0c;所有展现起来&#xff0c;还是很漂亮的&#xff0c;但是很多时候的效果&#xff0c;还是…

SharePoint 2010 电子书下载网站推荐

最近一直搜集SharePoint2010的资料&#xff0c;偶尔发现一个网站还不错&#xff0c;推荐给大家&#xff0c;皮皮书屋http://www.ppurl.com/tag/sharepoint&#xff0c;里面有很多SharePoint2010的电子书&#xff0c;虽然都是全英的&#xff0c;但是每本书去卓越都要好几百RMB的…

SharePoint 2010 网站备份还原简单介绍

今天尝试了SharePoint2010网站的备份和还原&#xff0c;从网上搜一些文档看看&#xff0c;然后自己试试&#xff0c;感觉和2007的操作没什么太大的区别&#xff0c;跟大家分享下自己尝试的命令行方式和数据库的方式&#xff0c;2007自己常用的也是这两种方式。 1、 命令行的方式…

Sharepoint 2010 自定义WebService 找不到网站应用程序

错误描述&#xff1a;Net 开发WebService调用Microsoft.SharePoint.dll的服务器端对象模型&#xff0c;出现找不到网站的应用程序&#xff0c;或者出现500错误。 错误截图&#xff1a; [Webservice调用页错误] System.IO.FileNotFoundException: 找不到位于 http://localhos…

SharePoint 搜索爬网第三方网站配置

介绍&#xff1a;SharePoint的搜索着实强大&#xff0c;而且最近用到SharePoint搜索第三方爬网&#xff0c;感觉收获挺大&#xff0c;而且网上资料没找到太多类似的&#xff0c;就小记录一下&#xff0c;分享给大家。 首先&#xff0c;我自己写了一个net页面&#xff0c;里面读…

SharePoint 2010 类似人人网站内信功能实施

简介&#xff1a;用SharePoint代码加实施的方式&#xff0c;完成类似人人网站内信功能&#xff0c;当然&#xff0c;实现的比较简单&#xff0c;样式也比较难看&#xff0c;只为给大家一个实施的简单思路&#xff0c;如有谬误&#xff0c;还请见谅。当然&#xff0c;还有就是截…

SharePoint 2013 新建网站集图解

前言&#xff1a;接触SharePoint的人可能是越来越多&#xff0c;但是很多人一接触就很迷茫&#xff0c;在技术群里问如何新建网站集&#xff0c;这样一篇图解&#xff0c;帮助新手学习在搭建好SharePoint环境之后&#xff0c;如何创建一个网站集&#xff0c;做一个基本的参考&a…

SharePoint 2013 图文开发系列之网站栏

网站栏的本质&#xff0c;就是一个xml的描述文件&#xff0c;所以创建过程&#xff0c;基本就是通过Feature部署一个Xml文件&#xff0c;然后修改Xml文件的网站栏描述。 1、添加新项目&#xff0c;选择SharePoint 2013 空项目&#xff0c;如下图&#xff1a; 2、选择调试网站和…

SharePoint 使用PowerShell恢复误删的网站集

在SharePoint网站集的使用中&#xff0c;我们很有可能会误删我们需要的网站集&#xff0c;SharePoint其实并没有把网站集删掉&#xff0c;只是放到了SPDeletedSite中&#xff0c;这样&#xff0c;我们还可以通过PowerShell找回来我们误删的网站集&#xff0c;具体操作详见下面介…

SharePoint 2013跨网站集发布功能简介

在SharePoint Server 2013网站实施中&#xff0c;我们经常会遇到跨网站集获取数据&#xff0c;而2013的这一跨网站集发布功能&#xff0c;正好满足我们这样的需求。 使用SharePoint 2013中的跨网站发布&#xff0c;我们可以使用列表和其他库来存储在发布网站上重复使用的内容&a…

SharePoint 2013 对象模型操作网站设置菜单

在SharePoint的开发中&#xff0c;经常会有客户提到网站操作上的栏目过多&#xff0c;其实&#xff0c;我们除了可以通过Feature的方式添加&#xff0c;还可以通过服务器端对象模型的方式添加&#xff1b;下面&#xff0c;让我用简单的例子&#xff0c;给大家介绍一下&#xff…

SharePoint Online 创建门户网站系列之准备篇

前 言门户是SharePoint自推出以来&#xff0c;就非常适合的一种站点类型&#xff0c;在Server版本中&#xff0c;发布站点的应用非常广泛。这里&#xff0c;我们以一个个简单的例子&#xff0c;然后以一个固定的项目Demo&#xff0c;为大家演示如何一步步在SharePoint Online中…

SharePoint Online 创建门户网站系列之母版页

前 言虽然SharePoint中母版页看起来只是头部Banner和底部版权信息这两个部分&#xff0c;但是实质在SharePoint Online中的页面模型中占有重要地位&#xff0c;而且SPO对母版页有着完善的签入签出机制和版本控制&#xff0c;方便使用。同时&#xff0c;除了保持网站所有页面的一…

SharePoint Online 创建门户网站系列之首页布局

前 言SharePoint Online中创建首页布局&#xff0c;一般都是首先将美工提供的效果图&#xff0c;切图成为Html Css Script的形式&#xff0c;然后&#xff0c;将所有资源文件传到SharePoint Online的资源库&#xff0c;在Designer中创建页面&#xff0c;添加Html页面&#xf…

SharePoint Online 创建门户网站系列之导航

前 言关于SharePoint Online中的导航&#xff0c;基本是由Html Css JavaScript组成效果以及样式&#xff0c;然后在后台列表或者SharePoint Online元数据导航当做数据源进行展示&#xff0c;通常数据源为列表的我们称之为自定义导航。下面&#xff0c;让我们分别介绍SharePoi…

SharePoint Online 创建门户网站系列之图片滚动

&#xfeff;&#xfeff;前 言创建SharePoint Online栏目我们之前已经介绍过了&#xff0c;具体就是内容编辑器方式、自带WebPart方式和JavaScript读取后台数据前台做展示的三种&#xff1b;但是&#xff0c;对于复杂的展示来说&#xff0c;这些方式还是会比较难以实现&#x…

SharePoint Online 创建门户网站系列之创建栏目

&#xfeff;前 言SharePoint Online的栏目&#xff0c;简单描述即显示在首页上的各个模块信息&#xff0c;这里&#xff0c;我们主要介绍我们首页上的栏目&#xff0c;包括简介类型、新闻列表类型、图片类型&#xff1b;下面&#xff0c;让我们开始在SharePoint Online的门户网…

SharePoint Online 创建门户网站系列之定制栏目

&#xfeff;前 言SharePoint Online自带的库就带有二级页面和详细页面&#xff0c;也就是Allitems页面和DispForm页面&#xff0c;但是实在不够美观&#xff0c;尤其对于门户网站这一企业门面来说&#xff0c;更是无法接受。下面&#xff0c;我们就开始学习如何定制SPO的二级页…