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手工编译安装实例

[root@localhost ~]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y

[root@localhost ~]# cd LNMP-C7/
[root@localhost 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
[root@localhost LNMP-C7]# tar zxf nginx-1.12.2.tar.gz -C /opt/

[root@localhost nginx-1.12.2]# useradd -M -s /sbin/nologin nginx

[root@localhost LNMP-C7]# cd /opt/
[root@localhost opt]# cd nginx-1.12.2/
[root@localhost 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"

[root@localhost 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'
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost 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
[root@localhost nginx-1.12.2]# nginx
[root@localhost nginx-1.12.2]# netstat -natp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      66585/nginx: master 
[root@localhost nginx-1.12.2]# systemctl stop firewalld.service 
[root@localhost nginx-1.12.2]# setenforce 0

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

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

Nginx的基本管理

[root@localhost nginx-1.12.2]# killall -3 nginx    //关闭Nginx服务
[root@localhost nginx-1.12.2]# netstat -natp | grep nginx
[root@localhost nginx-1.12.2]# nginx               //启动Nginx服务
[root@localhost nginx-1.12.2]# killall -1 nginx    //重启Nginx服务
[root@localhost 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
[root@localhost nginx-1.12.2]# killall -s QUIT nginx
[root@localhost nginx-1.12.2]# netstat -natp | grep nginx
[root@localhost nginx-1.12.2]# nginx 
[root@localhost nginx-1.12.2]# killall -s HUP nginx
[root@localhost 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
[root@localhost init.d]# chmod +x nginx 
[root@localhost init.d]# chkconfig -add nginx 
[root@localhost init.d]# service nginx restart 

小结

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

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

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

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