Nginx的网站服务(手工编译安装过程细解)

Nginx网站服务

Nginx的概念

? Nginx (engine x)是一个高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Ramblerru站点(俄文: Pamonep) 开发的,第-一个公开版本0. 1.0发布于2004年10月4日。
? 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
? Nginx是一款轻量级的Web服务器反向代理服务器及电子邮件(IMAP/POP3) 代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx手工编译安装

安装环境:Centos7、nginx-1.12.0.tar.gz

Nginx手工编译安装流程步骤细解如下:

#Nginx设置
nginx-1.12.0.tar.gz
1.解压缩软件包
tar zxf nginx-1.12.0 tar.gz -C /opt/
2.安装所需编译安装环境包
yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y
3.创建家目录但不创建家目录
useradd -M -s /sbin/nologin nginx
4.配置相关参数
cd /opt/nginx-1.12.0
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
(统计模块)
5.编译安装
make &&make install
6.测试
#cd /usr/local/nginx
#ls
#conf html logs sbin
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#nginx -t
nginx
netstat -natp | grep 80
systemctl stop firewalld.service
setenforce 0
#yum install -y elinks (测试网页工具)
#elinks http://localhost 

7.#基本管理
killall -3 (-s QUIT) nginx
netstat -antp | grep 80
killall -1 (-s HUP) nginx

8.制作管理脚本

Nginx手工编译安装实例

[[email protected] ~]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y

[[email protected] ~]# cd LNMP-C7/
[[email protected] LNMP-C7]# ls
Discuz_X3.4_SC_UTF8.zip    php-7.1.10.tar.bz2
mysql-boost-5.7.20.tar.gz  php-7.1.20.tar.bz2
ncurses-5.6.tar.gz         php-7.1.20.tar.gz
nginx-1.12.2.tar.gz        zend-loader-php5.6-linux-x86_64_update1.tar.gz
php-5.6.11.tar.bz2
[[email protected] LNMP-C7]# tar zxf nginx-1.12.2.tar.gz -C /opt/

[[email protected] nginx-1.12.2]# useradd -M -s /sbin/nologin nginx

[ro[email protected] LNMP-C7]# cd /opt/
[[email protected] opt]# cd nginx-1.12.2/
[[email protected] nginx-1.12.2]# ./configure > --prefix=/usr/local/nginx > --user=nginx > --group=nginx > --with-http_stub_status_module

.....//省略部分内容
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

[[email protected] nginx-1.12.2]# make && make install
...//省略部分内容
test -d ‘/usr/local/nginx/logs‘         || mkdir -p ‘/usr/local/nginx/logs‘
make[1]: Leaving directory `/opt/nginx-1.12.2‘
[[email protected] nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

[[email protected] nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[[email protected] nginx-1.12.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] nginx-1.12.2]# nginx
[[email protected] nginx-1.12.2]# netstat -natp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      66585/nginx: master
[[email protected] nginx-1.12.2]# systemctl stop firewalld.service
[[email protected] nginx-1.12.2]# setenforce 0

[[email protected] nginx-1.12.2]# yum install -y elinks
[[email protected] nginx-1.12.2]# elinks http://localhost
//这里执行命令后显示对话框,ok回车,输入q选择yes回车则退出到原本界面

以上就是对Nginx的手工编译安装的过程,下面我们介绍一下对Nginx的基本管理命令

Nginx的基本管理

[[email protected] nginx-1.12.2]# killall -3 nginx    //关闭Nginx服务
[[email protected] nginx-1.12.2]# netstat -natp | grep nginx
[[email protected] nginx-1.12.2]# nginx               //启动Nginx服务
[[email protected] nginx-1.12.2]# killall -1 nginx    //重启Nginx服务
[[email protected] nginx-1.12.2]# netstat -natp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      76326/nginx: master
//也可以使用以下命令进行关闭和重启
killall -s QUIT nginx
killall -s HUP nginx
[[email protected] nginx-1.12.2]# killall -s QUIT nginx
[[email protected] nginx-1.12.2]# netstat -natp | grep nginx
[[email protected] nginx-1.12.2]# nginx
[[email protected] nginx-1.12.2]# killall -s HUP nginx
[[email protected] nginx-1.12.2]# netstat -natp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      79214/nginx: master 

以上基本管理比较不方便,我们可以自己制作一个管理脚本,脚本如下

vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
    start)
        $PROG
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    reload)
        kill -s HUP $(cat $PIDF)
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
esac
exit 0
[[email protected] init.d]# chmod +x nginx
[[email protected] init.d]# chkconfig -add nginx
[[email protected] init.d]# service nginx restart 

小结

本文主要讲解有关Nginx的相关基础点,我们所要知道的就是其自身的特点以及其与Apache的区别。

特点:稳定性、轻量级、高并发、低资源
优势:擅长处理静态网站(图片文字视频等文件)访问资源;

Apache擅长动态(例如:账号注册时所需要的交互)

下一篇文章我们将介绍如何在手工编译安装好Nginx服务的基础上进行Nginx虚拟主机的搭建,谢谢阅读!

原文地址:https://blog.51cto.com/14557673/2461328

时间: 2024-10-19 14:35:17

Nginx的网站服务(手工编译安装过程细解)的相关文章

Apache服务【手工编译安装】

简介: Apache HTTP Server 是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在web服务器领域中长期保持着超过半数的份额.Apache服务器可以运行在Linux .Unix.Windows等多种平台. Apache的主要特点: 1.开放源代码 2.跨平台服务 3.支持各种网页编程语言 4.模块化设计 5.运行非常稳定 6.良好的安全性 环境:RHEL6.2. 一.Apache服务总览: 1.端口:80(http) https(443) 2.主配置文件(/e

Linux服务器上手工编译安装WEB服务

实验 实验要求:  手工编译安装WEB服务,实现客户机访问.   由于下载的源码包在win7系统目录中,通过samba服务实现源码包共享到linux服务器:           Win7上将文件夹LAMP共享,在linux服务器上通过smbclient访问: 创建名为lamp目录,通过RPM方式安装命令cifs,实现共享目录挂载: 使用mount命令挂载并进入目录lamp查看: 将httpd的tar包解压缩到指定目录/opt目录下: 为了降低并发连接数,将apr的tar包同样解压缩到指定目录/o

ansible-playbook 手工编译安装nginx

虽然nginx也可以通过yum安装,但是如何使用源码包安装并自定义开启一些nginx功能模块,并且通过ansible下发到被管理集群呢?下面给给位看官提供一个具体实例以供参考.首先我们需要手工编译好一台nginx服务器作为模板,再采用roles角色管理的方式将其解耦,并下发到被管理集群,具体步骤如下:实验环境:ansibleserver,nginx模板:(IP:192.168.252.130 centos7)Mysqlserver: (IP:192.168.252.173 centos7)Web

手工编译安装Apache

实验要求:手工编译安装Apache 实验步骤: 服务器(Redhat6)地址:192.168.4.2 客户机(Win7)地址:192.168.4.5 客户机设置LAMP文件夹共享,安装文件在LAMP文件夹中 mount.cifs //192.168.4.5/LAMP /opt/lamp //将LAMP文件夹挂载到服务器中的lamp目录中 smbclient -L 192.168.4.5 查看已经共享到的LAMP文件夹 tar xzvf httpd-2.4.2.tar.gz -C /opt/htt

LAMP——httpd 2.4.20 + mysql-5.6.26 + php-5.6.22编译安装过程

httpd 2.4.20 + mysql-5.6.26 + php-5.6.22编译安装过程: 资源准备 系统:centos6.5 PHP:wget http://docs.php.net/distributions/php-5.6.22.tar.gz MySQL:wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.26.tar.gz APACHE:wget http://mirrors.noc.im/apache//httpd/http

MySQL数据库初体验(含MySQL数据库5.7.17手工编译安装)

MySQL数据库初体验 Ram:随机性访问存储器,断电丢失数据 内存Rom:只读访问存储器,不会丢失数据 管理存储的数据,数据的增删改查,数据的迁移,保证数据的私密性 1.数据库的基本概念2.数据库的发展3.主流的数据库介绍4.编译安装mysql5.操作mysql 数据库的基本概念 数据: 1.描述事物的符号记录称为数据(Data)2.包括数字,文字.图形.图像.声音.档案记录等3.以"记录"形式按统一-的格式进行存储 表: 1.将不同的记录组织在一-起,就形成了"表&quo

Redis数据库简介与手工编译安装流程

Redis数据库简介与手工编译安装流程 前言 ? 本文从NoSQL诞生的由来引出Redis数据库,并对其简单介绍,然后进行Redis手工编译安装的流程演示(实验环境的系统版本为:Centos7),最后介绍Redis常用的命令工具. 什么是NoSQL? ? NoSQL--non-relational SQL,非关系型数据库.非关系型数据库的存储方式.存储结构以及使用场景都是完全不同的.随着网络发展,关系型数据库在应对海量数据以及高并发的网络服务时遇到相关的问题: 1)无法满足对数据库的高并发读写需

手工编译安装mysql数据库服务

实验要求:手工编译安装mysql数据库服务 实验步骤: 首先挂载并且建立yum仓库,查看yum有没有建好,在创建lamp文件 然后把宿主机的LAMP共享文件夹挂载到lamp目录下 将mysql归档包解压到/opt目录下 安装 gcc . gcc-c++. make .cmake(编译).后面都是开发包ncurses-devel.bison.libaio-devel的软件包(gcc . gcc-c++用yum装,其他用rpm装),在查看下有没有安装make 和cmake,诶有就安装 添加一个叫做m

Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置

Nginx   开源且跨平台的软件    俄罗斯人开发的   提供网站服务  和  代理服务 Nginx 提供网站服务应用环境? 1.虚拟主机2.用户访问控制3.用户验证4.防盗链 实验环境: 安装软件:nginx-0.855.tar.gz 操作系统:centos6.5 实验:(一) 实验目的:nginx源码包的安装以及基本的使用. 安装源码包要安装的工具:开发工具 和开发环境 1.安装nginx源码包 建立ngix软件夹用来存放nginx软件包 添加一个进程的所有者和所属组为www,www为n