nginx的编译安装 centos7

nginx的编译安装


yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget  ntpdate
gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl  openssl-devel
systemd-devel net-tools iotop bc  zip unzip zlib-devel bash-completion
nfs-utils automake libxml2  libxml2-devel libxslt libxslt-devel perl
perl-ExtUtils-Embed

准备编译安装的基础环境:

官方源码包下载地址: https://nginx.org/download/
cd /usr/local/src/
进入此目录 将压缩包下载到此目录
wget https://nginx.org/download/nginx-1.12.2.tar.gz
这边是直接从网站上下载过来的,如果事先准备好包 拖到此目录即可
tar xf nginx-1.12.2.tar.gz
解压包
cd nginx-1.12.2/
进入包目录
 ./configure --prefix=/apps/nginx \--user=nginx  \--group=nginx \--with-http_ssl_module
 \--with-http_v2_module \--with-http_realip_module \--with-http_stub_status_module
 \--with-http_gzip_static_module \--with-pcre \--with-stream \--with-stream_ssl_module
 \--with-stream_realip_module
这是我自己选择的一些nginx功能参数 ,根据自己需求可增删
make
编译开始
make install
创建目录,并将生成的模块和文件复制到相应的目录
useradd nginx -s /sbin/nologin -u 2000
创建一个 nginx 专用的系统账户

chown nginx.nginx -R /apps/nginx/
将自定义的 nginx 配置文件目录的所属组和所属主更改为 nginx
备注:nginx完成安装以后,有四个主要的目录:
conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的核心主要的配置文件,其他的.conf 则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件, 配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。
html:目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件 是默认的错误页面提示页面。
logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比 如/var/logs/nginx里面。
sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。
 /apps/nginx/sbin/nginx  -V
 核对版本及编译参数是否与自己编写的一致
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/apps/nginx/logs/nginx.pid
#Nginx will fail to start if /run/nginx.pid already exists but has the wrong
#SELinux context. This might happen when running `nginx -t` from the cmdline.
 https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /apps/nginx/logs/nginx.pid
ExecStartPre=/apps/nginx/sbin/nginx -t
ExecStart=/apps/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
#KillSignal=SIGQUIT
#TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target
在此目录下编写nginx的自启动脚本
systemctl daemon-reload
对于新创建的unit文件或,修改了的unit文件,要通知systemd重载此配置文件;
systemctl  start  nginx
启动nginx服务
systemctl  enable  nginx
设定开机自启nginx服务
 systemctl  status ? nginx
● nginx.service - The nginx HTTP and reverse proxy server
? Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset:
 disabled)
 ? Active: active (running) since Mon 2019-02-18 11:11:38 CST; 10s ago
 Main PID: 6348 (nginx)
 ? CGroup: /system.slice/nginx.service
 ? ? ? ? ? ├─6348 nginx: master process /apps/nginx/sbin/nginx
 查看nginx的启动状态  active(running)值为running  代表启动成功 

 Welcome to nginx!
 If you see this page, the nginx web server is successfully installed and
 working. Further configuration is required.

 For online documentation and support please refer to nginx.org.
 Commercial support is available at nginx.com.

 Thank you for using nginx
 打开网页输入本机IP 测试nginx  web界面!

配置测试: 新建一个pc web站点

 测试之前在nginx的主配置文件的  keepalive_timeout  65;
 下面加入 include /apps/nginx/conf/conf.d/*.conf;
 表示在conf/conf.d/目录下以.conf结尾的为子配置目录,方便实验的增删!
 由于是编译安装  所以 conf.d这个目录我们手动创建;mkdir  /apps/nginx/conf/conf.d
vim /apps/nginx/conf/conf.d/pc.conf
 server {
  listen 80;
  server_name www.lvyao.com;
  location / {
    root /data/nginx/html/pc;
  }
}
 编写新建pc web站点的配置
 mkdir /data/nginx/html/pc -p

 创建配置对应web主页目录
 echo "pc web" > /data/nginx/html/pc/index.html
 创建主页目录显示的 html 文件
在windows的C:\Windows\System32\drivers\etc
 hosts文件中加入DNS地址解析
本机IP                   自定义域名
172.22.143.132     www.lvyao.com
 systemctl reload nginx
 重启服务 并通过域名进行测试访问

新建一个Mobile web站点:

vim /apps/nginx/conf/conf.d/mobile.confserver {
  listen 80;
  server_name mobile.lvyao.net;
  location / {
    root /data/nginx/html/mobile;
  }
}
编写新建mobile web站点的配置
mkdir /data/nginx/html/mobile  -p
创建配置对应web主页目录
echo "mobile web" >> /data/nginx/html/mobile/index.html
创建主页目录显示的 html 文件
在windows的C:\Windows\System32\drivers\etc
hosts文件中加入DNS地址解析
本机IP                  自定义域名
172.22.143.132    mobile.lvyao.net
systemctl reload nginx
 重启服务 并通过域名进行测试访问

root与alias

指定web的家目录,在定义location的时候,文件的绝对路径等于 root+location,如

server {
  listen 80;
  server_name www.lvyao.com;
  location / {
    root /data/nginx/html/pc;
  }

  location /about {
    root /data/nginx/html/pc;
    index index.html;
  }
}
编写wep家目录指定的配置
mkdir  /data/nginx/html/pc/about
创建配置所对应的about文件

echo about > /data/nginx/html/pc/about/index.html
创建wep指定家目录主页显示的 html 文件

 重启Nginx并访问测试
alias:定义路径别名,会把访问的路径重新定义到其指定的路径,如:

vim /apps/nginx/conf/conf.d/alias.conf
server {
  listen 80;
  server_name www.lvyao.com;
  location / {
    root /data/nginx/html/pc;
  }

  location /about {  #使用alias的时候uri后面如果加了斜杠则下面的路径配置必须加斜杠,否则403
    alias /data/nginx/html/pc; #当访问about的时候,会显示alias定义的/data/nginx/html/pc
    里面的内容。
    index index.html;
  }
}
编写alias的文件配置
  重启Nginx并访问测试

原文地址:https://blog.51cto.com/14234525/2401558

时间: 2024-08-28 11:05:14

nginx的编译安装 centos7的相关文章

Nginx的编译安装

Nginx的编译安装 一.Nginx的特点 1.Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 .它支持内核 Poll 模型,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数. 2.Nginx 具有很高的稳定性,Nginx 采取了分阶段资源分配技术,使得它的 CPU 与内存占用率非常低. 3.Nginx 代码质量非常高,代码很规范,手法成熟,模块扩展也很容易. 4.Nginx 还可以实现无缓存的反向代理加速,简单的负载均衡和容错. 二.获取并编译Ng

Nginx 的编译安装和URL地址重写

本文转自:http://www.178linux.com/14119#rd?sukey=ecafc0a7cc4a741b573a095a3eb78af6b4c9116b74d0bbc9844d8fc5e8b50b3fc807541ae53fd06c67ac4f4adaae6981 在此只是做个笔记给自己看的. Nginx专题: 从编译安装到URL重写 前言 环境介绍 Nginx介绍 编译安装Nginx 配置文件解释 main和event{}的配置 http{}的基本配置 配置Nginx 搭建一个

20190314 Nginx:编译安装、Location的使用、常用变量

Nginx是一个高性能的HTTP和反向代理服务.是一款轻量级的Web服务器和反向代理服务器及电子邮件代理服务器,特点:占有内存少,并发能力强, epoll:在Linux 2.6内核中提出的select和poll的增强版本支持水平触发LT和边缘触发ET,最大的特点在于边缘触发,它只告诉进程哪些fd刚刚变为就需态,并且只会通知一次使用"事件"的就绪通知方式,通过epoll_ctl注册fd,一旦该fd就绪,内核就会采用类似callback的回调机制来激活该fd,epoll_wait便可以收到

LNMP编译安装(centos7+nginx1.9+mysql5.6+php5.5)

LNMP编译安装 # 需先配置IP # 软件包的路径 /usr/local/src yum install -y libjpeg-devel libpng-devel freetype-devel curl-devel python-devel curl-devel gcc gcc-c++ bison-devel  ncurses-devel lrzsz openssl-devel libjpeg-devel libpng-devel freetype-devel curl-devel  pyt

CentOS 6.5 Nginx 的编译安装、以及让nginx 支持 SSI 相对路径写法

1. nginx 下载 进入 http://nginx.org/en/download.html 下载,我是选择的 "Stable version" 稳定版本的下载 # wget http://nginx.org/download/nginx-1.6.2.tar.gz 2. 解压编译安装 # tar -zxvf nginx-1.6.2.tar.gz # cd nginx-1.6.2 安装一些nginx用到的依赖软件,如果不开启ssl可以不用安装openssl,回头用到时可以返回这里重新

LNMP—Nginx的编译安装

Nginx的官方下载地址http://nginx.org 进入目录 [[email protected] ~]# cd /usr/local/src 下载Nginx [[email protected] src]# wget http://nginx.org/download/nginx-1.6.3.tar.gz 解压Nginx [[email protected] src]# tar zxvf nginx-1.6.3.tar.gz 编译安装 [[email protected] src]# c

Nginx的编译安装及基本使用

环境说明:Centos6.6_64.Vmware11和nginx-1.8.0 一.nginx说明 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名

Nginx的编译安装及服务启动脚本

1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需要专门安装pcre-devel包:# yum -y install pcre-devel 2.添加系统用户,实现与之运行nginx的服务进程 groupadd -r nginx useradd -r -g nginx nginx id nginx    查看新建的用户id 3.下载源码包上传编译安装 (www

nginx软件编译安装

第一个里程:软件依赖包安装pcre-devel: perl语言正则表达式兼容软件包openssl-devel:使系统支持https方式访问yum install -y pcre-devel openssl-devel 第二个里程:创建一个管理nginx进程的虚拟用户 useradd www -s /sbin/nologin/ -M 第三个里程:下载并解压nginx软件cd /server/toolswget http://nginx.org/download/nginx-1.12.2.tar.g