参考博客: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

  配置阿里云镜像仓库:

  1.   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..tar.gz
  2. [root@localhost ~]# cd nginx-1.15.
  3. [root@localhost nginx-1.15.]# ls
  4. auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src

  4.编译安装

  1. [root@localhost nginx-1.15.]# ./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
  1. [root@localhost nginx-1.15.10]# make && make install

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

  1. groupadd nginx
  2. useradd -M -s /sbin/nologin -g nginx nginx
  3. chown -R nginx:nginx /usr/local/nginx
  4. chown -R nginx:nginx /var/log/nginx
  5. chown -R nginx:nginx /var/run/nginx
  6. chown -R nginx:nginx /var/lock/nginx
  7. chown -R nginx:nginx /var/lock/nginx.lock
  8. mkdir -p /var/tmp/nginx/client
  9. chown -R nginx:nginx /var/tmp/nginx

6.运行nginx

  1. [root@localhost nginx]# /usr/local/nginx/sbin/nginx
  2. [root@localhost nginx]# /usr/local/nginx/sbin/nginx -s reload
  3. [root@localhost nginx]# /usr/local/nginx/sbin/nginx -s stop
    修改监听端口位8090
      vim /usr/local/nginx/conf/nginx.conf
        修改:listen 8090;
  4. 运行检查:
  5. [root@localhost nginx]# ps -ef | grep nginx
  6. root : ? :: nginx: master process /usr/local/nginx/sbin/nginx
  7. nginx : ? :: nginx: worker process
  8. root : pts/ :: grep nginx
  9. [root@localhost nginx]# lsof -i:
  10. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  11. nginx root 6u IPv4 0t0 TCP *: (LISTEN)
  12. nginx nginx 6u IPv4 0t0 TCP *: (LISTEN)

  7.查看nginx主进程或者ps

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

  8.nginx主配置文件

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

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

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

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

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

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

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

  1. #pid logs/nginx.pid; #可以指定绝对路径
  2. #error_log logs/error.log; #指定错误日志路径
  3. #error_log logs/error.log notice; #指定一个日志记录级别
  4. #error_log logs/error.log info;
  5.  
  6. 支持的日志级别:
  7. 语法:
  8. error_log file [ debug | info | notice | warn | error | crit ] | [{ debug_core | debug_alloc | debug_mutex | debug_event | debug_http | debug_mail | debug_mysql } ]
  9. 日志级别 = 错误日志级别 | 调试日志级别; 或者
  10. 日志级别 = 错误日志级别;
  11. 错误日志的级别: emerg, alert, crit, error, warn, notic, info, debug,
  12. 调试日志的级别: debug_core, debug_alloc, debug_mutex, debug_event, debug_http, debug_mail, debug_mysql
  13.  
  14. error_log 指令的日志级别配置分为错误日志级别和调试日志级别,错误日志只能设置一个级别,而且错误日志必须书写在调试日志级别的前面,另外调试日志可以设置多个级别,其他配置方法可能无法满足需求。
  15.  
  16. 8.5 配置文件的引入:include
  1. include file #file是要导入的文件,支持相对路径,一般在html目录里面
  2. 导入一个conf文件,并配置不同主机名的页面,编辑nginx.conf主配置文件:
  3. include /usr/local/nginx/conf.d/samsung.conf; #在最后一个大括号里面加入一项,*是导入任何以conf结尾的配置文件
  4.  
  5. 在/usr/local/nginx/conf.d/创建一个samsung.conf,内容如下:
  6. [root@Server1 nginx]# grep -v "#" conf.d/samsung.conf | grep -v "^$"
  7. server {
  8. listen 8090;
  9. server_name samsung.chinacloudapp.cn;
  10. location / {
  11. root html;
  12. index index1.html index.htm;
  13. }
  14. error_page 500 502 503 504 /50x.html;
  15. location = /50x.html {
  16. root html;
  17. }
  18. }

  

 

LNMP平台搭建之一:nginx编译安装的更多相关文章

  1. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

  2. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  3. LNMP平台搭建---Linux系统安装篇

    在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...

  4. Nginx编译安装及常用命令

    一个执着于技术的公众号 前言 前面我们已经了解Nginx基础入门知识,今天就带大家一起学习下Nginx编译安装部署 准备工作 一台linux机器(本次实验以CentOS 7.5为例) 到Nginx官方 ...

  5. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  6. Nginx编译安装第三方模块http_substitutions_filter_module2222

    Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...

  7. Nginx编译安装第三方模块http_substitutions_filter_module

    Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术  作者:rming  时间:-- . >>ngx_http_substitu ...

  8. Nginx编译安装相关参数

    Nginx编译安装相关参数 Nginx插件安装 ------------------pcre------------------ cd /usr/local/source wget http://ww ...

  9. nginx编译安装

    Nginx编译安装 1.nginx官网:http://wiki.nginx.org/Install下载:http://nginx.org/en/download.html 2.编译安装# wget h ...

随机推荐

  1. HTML,js的基础知识

    HTML 元素语法 HTML 元素以开始标签起始 HTML 元素以结束标签终止 元素的内容是开始标签与结束标签之间的内容 某些 HTML 元素具有空内容(empty content) 空元素在开始标签 ...

  2. Prime Distance POJ - 2689 (数学 素数)

    The branch of mathematics called number theory is about properties of numbers. One of the areas that ...

  3. CSAPP深入理解计算机系统(第二版)第三章家庭作业答案

    <深入理解计算机系统(第二版)>CSAPP 第三章 家庭作业 这一章介绍了AT&T的汇编指令 比较重要 本人完成了<深入理解计算机系统(第二版)>(以下简称CSAPP) ...

  4. 微信小程序做radio,可以拖动进度条

    很简单的一个音乐播放器 data:{ src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4a ...

  5. WinForm 水晶报表的简单使用

    今天需要做出一个水晶报表, 以前在学校的时候就看过一点点,有些印象, 但没有具体的了解过,今天百度了一下,发现这个东西相当的方便简单. 还很完美. 开发工具是VS2010,水晶报表没有内置.需要自己下 ...

  6. python 3 爬取某小说网站小说,注释详细

    目标:每一个小说保存成一个txt文件 思路:获取每个小说地址(图一),进入后获取每章节地址(图二),然后进入获取该章节内容(图三)保存文件中.循环 效果图: 每一行都有注释,不多解释了 import ...

  7. 洛谷.5284.[十二省联考2019]字符串问题(后缀自动机 拓扑 DP)

    LOJ BZOJ 洛谷 对这题无话可说,确实比较...裸... 像dls说的拿拓扑和parent树一套就能出出来了... 另外表示BZOJ Rank1 tql... 暴力的话,由每个\(A_i\)向它 ...

  8. MongoDB 组合多个条件查询($and、$in、$gte、$lte)

    一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...

  9. GMA Round 1 新程序

    传送门 新程序 程序框图如图所示,当输入的n=时,输出结果的ans是多少? 容易看出该程序求n以内质数个数,50以内有15个. 定位:简单题

  10. HTML5冲刺

    html5特性及知识点 1.新标签1)div语义不强,针对结构部署,提供了以下新标签nav/main/header/footer/article/asideie9将把以上元素全部解析为行内元素,引入第 ...