参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html   jack.zhang

一、环境说明

  系统环境:centos6.5

  [root@localhost ~]# cat /etc/redhat-release
  CentOS release 6.5 (Final)

  软件包:

  mysql5.7

  nginx1.15

  php5.6

  配置阿里云镜像仓库:

  curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo  yum makecache

二、nginx编译安装

  1、安装依赖包

  yum -y install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel

  2.下载nginx

  wget http://nginx.org/download/nginx-1.15.10.tar.gz

  3.解压

1 [root@localhost ~]# tar -zxf nginx-1.15.10.tar.gz
2 [root@localhost ~]# cd nginx-1.15.10
3 [root@localhost nginx-1.15.10]# ls
4 auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

  4.编译安装

[root@localhost nginx-1.15.10]# ./configure --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock  --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
[root@localhost nginx-1.15.10]# make && make install  

  5.创建用户和组及相关文件夹及文件夹权限的修改

groupadd nginx
useradd -M -s /sbin/nologin -g nginx nginx
chown -R nginx:nginx /usr/local/nginx
chown -R nginx:nginx /var/log/nginx
chown -R nginx:nginx /var/run/nginx
chown -R nginx:nginx /var/lock/nginx
chown -R nginx:nginx /var/lock/nginx.lock
mkdir -p /var/tmp/nginx/client
chown -R nginx:nginx /var/tmp/nginx

6.运行nginx

[root@localhost nginx]# /usr/local/nginx/sbin/nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s stop修改监听端口位8090  vim /usr/local/nginx/conf/nginx.conf    修改:listen 8090;
运行检查:
[root@localhost nginx]# ps -ef | grep nginx
root       4529      1  0 07:06 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx      4530   4529  0 07:06 ?        00:00:00 nginx: worker process
root       4534   1721  0 07:06 pts/0    00:00:00 grep nginx
[root@localhost nginx]# lsof -i:8090
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   4529  root    6u  IPv4  28718      0t0  TCP *:8090 (LISTEN)
nginx   4530 nginx    6u  IPv4  28718      0t0  TCP *:8090 (LISTEN)

  7.查看nginx主进程或者ps

[root@localhost nginx]# cat /var/run/nginx/nginx.pid
4529

  8.nginx主配置文件

[root@Server1 conf]# grep -v "#" nginx.conf | grep -v  "^$"#全局生效,主要设置nginx的启动用户/组,启动的工作进程数量,Nginx的PID路径,日志路径等。
worker_processes  1;   #默认启动一个工作进程
events {   #events设置快,主要影响nginx服务器与用户的网络连接,比如是否允许同时接受多个网络连接,使用哪种事件驱动模型处理请求,每个工作进程可以同时支持的最大连接数,是否开启对多工作进程下的网络连接进行序列化等。worker_connections  1024;   #设置nginx可以接受的最大并发,多个进程只和
}
http {   #http块是Nginx服务器配置中的重要部分,缓存、代理和日志格式定义等绝大多数功能和第三方模块都可以在这设置,http块可以包含多个server块,而一个server块中又可以包含多个location块,server块可以配置文件引入、MIME-Type定义、日志自定义、是否启用sendfile、连接超时时间和单个链接的请求上限等。include       mime.types;  #文件扩展名与文件类型映射表default_type  application/octet-stream; #默认文件类型sendfile        on; #是否调用 sendfile 函数(zero copy -->零copy方式)来输出文件,普通应用打开,可以大幅提升nginx的读文件性能,如果服务器是下载的就需要关闭,keepalive_timeout  65;  #长连接超时时间,单位是秒server { #设置一个虚拟机主机,可以包含自己的全局快,同时也可以包含多个locating模块。比如本虚拟机监听的端口、本虚拟机的名称和IP配置,多个server 可以使用一个端口,比如都使用8090端口提供web服务、listen       8090;  #server的全局配置,配置监听的端口server_name  localhost;  #本server的名称,当访问此名称的时候nginx会调用当前serevr内部的配置进程匹配。location / {  #location其实是server的一个指令,为nginx服务器提供比较多而且灵活的指令,都是在location中提现的,主要是基于nginx接受到的请求字符串,对用户请求的UIL进行匹配,并对特定的指令进行处理,包括地址重定向、数据缓存和应答控制等功能都是在这部分实现,另外很多第三方模块的配置也是在location模块中配置。root   html;  #相当于默认页面的目录名称,默认是相对路径,可以使用绝对路径配置。index  index.html index.htm;}error_page   500 502 503 504  /50x.html;  #错误页面的文件名称location = /50x.html {  #location处理对应的不同错误码的页面定义到/50x.html,这个跟对应其server中定义的目录下。root   html;   #定义默认页面所在的目录}}
}

  8.2:配置nginx 主进程的启动用户和工作进程数:

user  xxxx;   #每一条指令都要以分号结尾
worker_processes  1; #可以指定启动的固定nginx进程数,或使用auto,auto是启动与当前CPU 线程相同的进程数,如CPU是四核八线程的就启动八个进程的Nginx工作进程。

  8.3绑定Nginx 工作进程到不同的CPU上:

  默认Nginx是不进行保定的,绑定并不能是当前nginx进程独占以一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx 工作进程在不同cpu上的跳转,减少了CPU对进程的资源分配与回收,因此可以有效的提升nginx服务器的性能,配置如下:

[root@Server1 nginx]# grep process /proc/cpuinfo  | wc -l #确认CPU的核心数量
4
四个线程CPU的配置:
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;八个线程CPU的配置:
worker_processes  8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

  8.4PID和错误日志文件路径:

#pid        logs/nginx.pid;   #可以指定绝对路径
#error_log  logs/error.log;  #指定错误日志路径
#error_log  logs/error.log  notice;  #指定一个日志记录级别
#error_log  logs/error.log  info;支持的日志级别:
语法:
error_log file [ debug | info | notice | warn | error | crit ]  | [{  debug_core | debug_alloc | debug_mutex | debug_event | debug_http | debug_mail | debug_mysql } ]
日志级别 = 错误日志级别 | 调试日志级别; 或者
日志级别 = 错误日志级别;
错误日志的级别: emerg, alert, crit, error, warn, notic, info, debug,
调试日志的级别: debug_core, debug_alloc, debug_mutex, debug_event, debug_http, debug_mail, debug_mysqlerror_log 指令的日志级别配置分为错误日志级别和调试日志级别,错误日志只能设置一个级别,而且错误日志必须书写在调试日志级别的前面,另外调试日志可以设置多个级别,其他配置方法可能无法满足需求。

8.5 配置文件的引入:include

include file;  #file是要导入的文件,支持相对路径,一般在html目录里面
导入一个conf文件,并配置不同主机名的页面,编辑nginx.conf主配置文件:
include  /usr/local/nginx/conf.d/samsung.conf;  #在最后一个大括号里面加入一项,*是导入任何以conf结尾的配置文件在/usr/local/nginx/conf.d/创建一个samsung.conf,内容如下:
[root@Server1 nginx]# grep -v "#" conf.d/samsung.conf  | grep -v "^$"server {listen       8090;server_name  samsung.chinacloudapp.cn;location / {root   html;index  index1.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

  

转载于:https://www.cnblogs.com/yunxiaobai8/p/10646178.html

LNMP平台搭建之一:nginx编译安装相关推荐

  1. CentOS6.x 下 LNMP环境搭建(二、安装 Nginx)

    为什么80%的码农都做不了架构师?>>>    CentOS6.x 下 LNMP环境搭建(准备篇) CentOS6.x 下 LNMP环境搭建(一.安装 MySQL) CentOS6. ...

  2. LNMP平台搭建-Centos6.x

    LNMP平台搭建-Centos6.x 0.准备工作: 操作系统:Centos 6.x 关闭selinux和iptables 准备好网络yum源 #关闭iptables [root@localhost ...

  3. Linux下Nginx编译安装后的开机自启动设置

    Linux下Nginx编译安装后的开机自启动设置 一.查看当前Nginx启动状态 二.而配置Nginx相关服务文件 三 .设置nginx命令 四.设置开机启动 五.测试开机启动 一.查看当前Nginx ...

  4. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

  5. linux nginx编译详解,Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备 1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码 代码如下:# ...

  6. 宝塔Nginx编译安装headers_more模块

    前言 nginx 的 headers_more模块用于添加/修改/清除/请求/响应头的模块. 该模块主要有 4 个指令: more_set_headers 用于 添加.修改.清除 响应头 more_c ...

  7. Linux下nginx编译安装,重新添加模块

    Linux下nginx编译安装,重新添加模块 前言:编译完成后的Nginx,当我们需要新的功能模块时,要怎么重新添加呢?可以按照下面的方法试试. 1.查看nginx版本以及编译安装模块 [root@# ...

  8. 腾讯nginx编译安装

    源码编译安装 感谢云计算磊哥的开源 以下是编译安装和笔记整理 腾讯nginx编译安装 1. yum -y install gcc make zlib-devel pcre pcre-devel ope ...

  9. 【nginx】nginx编译安装

    nginx编译安装 nginx介绍 为什么要使用编译安装 编译安装详细步骤 解决软件的依赖关系,需要安装相关软件包 新建管理nginx的用户和组 下载并解压nginx 配置自己所需要的nginx的功能 ...

最新文章

  1. python绘制坐标图_Python绘制主次坐标图
  2. BB陆逊高达(3Dmax)
  3. 用CRT查找内存泄漏
  4. C++ Bitsets
  5. 修改Linux的基本配置(如主机名、ip等)
  6. javax.xml.bind.UnmarshalException: 意外的元素 (uri:, local:xml)。所需元素为(none)
  7. 福禄克OFP光纤测试仪5个强大的功能
  8. 亚马逊标题自动抓取_如何为您的家人提供自动Amazon礼品卡津贴
  9. vs2010 学习Silverlight学习笔记(11):数据与通信之WebClient
  10. Python 爬虫的工具列表大全
  11. 2.1 px30驱动移植-DRM驱动框架简介
  12. y的花式写法_y的花式写法_26个字母的花式写法,总有一个你喜欢哒
  13. 前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!
  14. 苹果无线耳机连接不上_为什么我们一定要买TWS真无线耳机?
  15. 【毕业设计之PHP系列】PHP课程网站络管理系统
  16. 一款基于企业微信的固定资产管理软件
  17. 用生活中的照片做海报
  18. facebook审核流程
  19. maxcompute-入门-数据下载
  20. linux相关使用 --大神掠过

热门文章

  1. gateway动态路由_spring-cloud-gateway简介
  2. cmd做个定时弹窗_揭秘200元山寨苹果耳机!一颗耳边的“定时炸弹”...
  3. 【深度学习】基于注意力机制的Transformer处理医疗影像
  4. HDU 2037 今年暑假不AC【贪心】
  5. 习题1.9 有序数组的插入 (20 分)
  6. 算法提高 c++_ch04_02_修正版
  7. linux 网络监控指标,Linux监控一些指标
  8. android 定位 闪退_Android使用百度地图出现闪退及定位时显示蓝屏问题
  9. 基类成员的public访问权限在派生类中变为_C++ 派生类的构造函数(学习笔记:第7章 06)...
  10. 利用逆矩阵解线性方程组_QR方法求解矩阵所有特征值(一)