方法一:
首先由于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 -s reload
停止
#/usr/local/Nginx/sbin/Nginx -s stop
停止进程
# ps -ef | grep Nginx
停止进程
# kill -QUIT 主进程号
快速停止
# kill -TERM 主进程号
强制停止
# pkill -9 Nginx
测试端口
# netstat �Cna|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