千家信息网

CentOS 安装快速Nginx-1.12.0

发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,方法一:首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-de
千家信息网最后更新 2024年10月28日CentOS 安装快速Nginx-1.12.0

方法一


首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装。

# yum install gcc-c++

# yum install pcre pcre-devel

# yum install zlib zlib-devel

# yum install openssl openssl--devel


安装Nginx

检查一下是否已经安装有nginx

# find -name nginx


如果系统已经安装了nginx,那么就先卸载

# yum remove nginx


开始安装nginx

进入你自己的文件位置开始下载

# wget http://nginx.org/download/nginx-1.12.0.tar.gz

# tar -zxvf nginx-1.12.0.tar.gz

# cd nginx-1.12.0

# ./configure

# make

# make install


查看nginx版本

# /usr/local/nginx/sbin/nginx -V


启动和重启Nginx

启动:

# /usr/local/nginx/sbin/nginx

重启

# /usr/local/nginx/sbin/nginx -s reload

停止

# /usr/local/nginx/sbin/nginx -s stop


停止进程

#查询nginx主进程号

# ps -ef | grep nginx

停止进程

# kill -QUIT 主进程号

快速停止

# kill -TERM 主进程号

强制停止

# pkill -9 nginx


测试端口

# netstat -na|grep 80


添加防火墙端口

# vi /etc/sysconfig/iptables


生效

# /etc/init.d/iptables restart


【扩展】

[root@bogon nginx-1.12.0]# netstat -anpt | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5502/nginx


[root@bogon nginx-1.12.0]# ss -tnlp | grep 80 //可以发现启动用户和组为nginx

LISTEN 0 128 *:80 *:* users:(("nginx",5502,6),("nginx",5503,6))


4、查看nginx的进程情况

[root@bogon nginx-1.12.0]# ps aux | grep nginx //发现只启动了一个master进程和一个worker进程

root 5502 0.0 0.1 44824 1176 ? Ss 22:58 0:00 nginx: master process /usr/local/nginx/sbin/nginx

nginx 5503 0.0 0.1 45260 1760 ? S 22:58 0:00 nginx: worker process

root 5544 0.0 0.0 103328 848 pts/0 S+ 23:02 0:00 grep nginx


我们查看一下主配置文件看看是什么情况

[root@bogon nginx-1.12.0]# vi /etc/nginx/nginx.conf

3 worker_processes 1; //原因在这里,配置文件只定义了启动一个,我们修改成两个看一下效果

3 worker_processes 2; //修改后


[root@bogon nginx-1.12.0]# /usr/local/nginx/sbin/nginx -s stop


[root@bogon nginx-1.12.0]# /usr/local/nginx/sbin/nginx


[root@bogon nginx-1.12.0]# ps aux | grep nginx //重启服务后可以发现worker进程变成了两个

root 5557 0.0 0.1 44824 1176 ? Ss 23:07 0:00 nginx: master process /usr/local/nginx/sbin/nginx

nginx 5558 0.0 0.1 45260 1792 ? S 23:07 0:00 nginx: worker process

nginx 5559 0.0 0.1 45260 1760 ? S 23:07 0:00 nginx: worker process

root 5561 0.0 0.0 103328 848 pts/0 S+ 23:07 0:00 grep nginx


二、配置nginx

1、配置文件组成:主配置文件nginx.conf;fastcgi配置文件fastcgi_params;

2、注意事项:必须以分号结尾;支持内置变量(由模块引入)和自定义变量(set 变量名 值,引用时使用$变量名即可)

3、配置文件的结构:

全局配置

event{

...... //主要提供用户并发连接的配置

}

http{

...... //配置http服务的配置,而且可以定义虚拟主机server

}

4、解释说明

全局配置段:

类别:正常运行必备的配置;优化性能相关的配置;用于调试、定位问题的配置。

正常运行必备的配置:

user nginx nginx; //指定运行worker进程的用户和组

pid /var/run/nginx.pid; //指定nginx进程的pid文件路径

worker_rlimit_nofile 1024; //指定每一个worker进程最大打开的文件描述符数量

worker_rlimit_slgpending 1024; //指定每个用户能够发往worker进程的最大信号数量


优化性能相关的配置:

worker_processes 4; //打开的worker进程数量,通常为物理CPU核心数量减一,可以避免进程切换带来的损失,也可以加auto参数自动分配

#worker_processes auto;

worker_cpu_affinity 0001 0010 0100 1000; //绑定CPU,但是没有实现隔离

worker_priority nice; 区间是-20,19,值越小优先级越高

[root@bogon nginx]# ps axo comm,pid,nice | grep nginx 查看nice值

nginx 5557 0

nginx 5558 0

nginx 5559 0

[root@bogon nginx]# lscpu //查看CPU


用于调试、定位问题的配置:

daemon on; //是否以守护进程的方式启动nginx

master_process on;是否以master/worker模型运行nginx

error_log /var/log/nginx/error.log; //后面可以加级别,出于调试的需要可以设定为debug,但是必须在编译时使用-with-debug选项编译时生效


方法二:



自动安装选择最快的源

# yum install yum-fastestmirror


安装nginx

# yum install nginx


自己配置nginx 源

# vi /etc/yum.repos.d/nginx.repo


#nginx.repo

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/6/$basearch/

gpgcheck=0

enabled=1



0