在鲲鹏服务器上安装nginx

2024-06-01 04:44

本文主要是介绍在鲲鹏服务器上安装nginx,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

华为鲲鹏服务器采用华为自研cpu ARMv8架构,提供 Windows 和多个Linux 系统

常使用 CentOS 7.6 64bit with ARM

  

    Nginx 和 Apache 一样都是一种 Web 服务器。是基于 REST 架构风格,以统一资源描述符URI 或者统一资源定位符URL 作为沟通依据,通过 HTTP 协议提供各种网络服务。因为Nginx是一个开源的代理服务器,那么我们就可以通把它安装到服务器上,用它来部署我们的web项目。

一、Nginx安装

1、安装编译工具及库文件:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2、安装pcre

mkdir mysql
cd mysql
wget  http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
pcre-config --version

3、安装nginx

wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
mkdir /usr/local/nginx         /*创建一个安装途径
//若采用默认安装途径(pefix),
注意最后安装结果提示--with-http_stub_status_module --with-http_ssl_module --with-pcre=/root/nginx/pcre-8.35        /*产生安装文件./configure 
make && make install                 /*编译以及编译安装

                                         

4、 Nginx配置

/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
vi/usr/local/nginx/conf/nginx.conf

5.检查校验配置文件nginx.conf的正确性命令:

 /usr/local/nginx/sbin/nginx -t

6.启动nginx

/usr/local/nginx/sbin/nginx
ps –ef|grep nginx

二、Nginx配置文件

#nginx进程,一般设置为和cpu核数一样
worker_processes 4;                        
#错误日志存放目录 
error_log  /data1/logs/error.log  crit;  
#运行用户,默认即是nginx,可不设置
user nginx       
#进程pid存放位置
pid        /application/nginx/nginx.pid;        
#Specifies the value for maximum file descriptors that can be opened by this process. 
#最大文件打开数(连接),可设置为系统优化后的ulimit -HSn的结果
worker_rlimit_nofile 51200;
cpu亲和力配置,让不同的进程使用不同的cpu
worker_cpu_affinity 0001 0010 0100 1000 0001 00100100 1000;
#工作模式及连接数上限
events 
{use epoll;       #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能worker_connections 1024;  #;单个后台worker process进程的最大并发链接数
}
http 
{
include mime.types; #文件扩展名与类型映射表
default_type application/octet-stream; #默认文件类型
#limit模块,可防范一定量的DDOS攻击
#用来存储session会话的状态,如下是为session分配一个名为one的10M的内存存储区,限制了每秒只接受一个ip的一次请求 1r/slimit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;limit_conn_zone $binary_remote_addr zone=addr:10m;include       mime.types;default_type  application/octet-stream;#第三方模块lua防火墙lua_need_request_body on;#lua_shared_dict limit 50m;lua_package_path "/application/nginx/conf/waf/?.lua";init_by_lua_file "/application/nginx/conf/waf/init.lua";access_by_lua_file "/application/nginx/conf/waf/access.lua";#设定请求缓存    server_names_hash_bucket_size 128;client_header_buffer_size 512k;large_client_header_buffers 4 512k;client_max_body_size 100m;#隐藏响应header和错误通知中的版本号server_tokens off;#开启高效传输模式   sendfile on;

三、Nginx负载均衡

HTTP重定向实现负载均衡(负载均衡算法(使用 nginx 中的 upstream模块))

源地址哈希法(ip_hash):根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。

轮询法(默认):将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

随机法:通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。

加权轮询法(权重:数字越大,权重越高越多分配到该机器上):不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。

加权随机法:与加权轮询法一样,加权随机法也根据后端机器的配置,系统的负载分配不同的权重。不同的是,它是按照权重随机请求后端服务器,而非顺序。

最小连接数法:由于后端服务器的配置不尽相同,对于请求的处理有快有慢,最小连接数法根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。

压测:

ab -n 100 -c 100 http://${ip}/

四、在服务器中导入项目

从图中可以看出,项目已经成功部署上去,并把login.html设置为访问的主页面

这篇关于在鲲鹏服务器上安装nginx的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020018

相关文章

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

Nginx禁用TLSv1.0 1.1改为TLSv1.2 1.3的操作方法

《Nginx禁用TLSv1.01.1改为TLSv1.21.3的操作方法》使用MozillaSSL配置工具生成配置,修改nginx.conf的ssl_protocols和ssl_ciphers,通... 目录方法一:方法二:使用 MoziChina编程lla 提供的 在线生成SSL配置工具,根据自己的环境填充对应的

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)