Nginx的网站服务(手工编译安装过程细解)
admin
2023-02-22 16:00:05
0

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虚拟主机的搭建,谢谢阅读!

相关内容

热门资讯

蒋万安借“725上凯道”成蓝营... 中国国民党25日将于台北凯道举办“我是人,我反毒台”集会,向民进党当局抗议中联毒油案。对此,资深媒体...
波轮式全自动洗衣机脱水时波轮转 波轮式全自动洗衣机脱水时波轮转1、衣物放置不平导致;2、排水系统发生阻塞。3、顶部的安全开关损坏;4...
洗衣机不出水怎么查原因 当洗衣机不出水时,一定是出了问题。下面就是一些可能的原因及其解决方法:1. 电源问题洗衣机不能正常工...
半自动洗衣机放不出水是什么原因... 1、检查过滤网是否堵塞。若堵塞了需要将脏东西取出来,然后再用清水将过滤网清洗干净。2、检查一下是不是...
全自动洗衣机不出水是什么原因 1、进水口的滤网被水中的杂质堵住。2、控制板上的进水继电器坏了。3、电路故障,进水电磁阀有故障或者插...
抽油烟机只通电不转怎么回事 只通电不转的故障原因和解决方法:1、电容量减小或损坏。解决方法:抽油烟机电机不转,还有嗡嗡声,一般是...
谷歌被罚9亿欧元后,特朗普称欧... 当地时间7月23日,欧盟委员会指控美国谷歌公司违反欧盟《数字市场法》,对其处以8.9亿欧元罚款。这一...
14对14,中国反击欧盟,干净... 对于欧盟的指手画脚,中国第一时间反击了。14:14。干净利落,来而不往非礼也。国际博弈,从来如此:没...
风未到,人已行!凌晨不眠!一场... 7月24日晚,台风“红霞”持续逼近,市应急管理局五楼会议室灯火通明,市应急管理局党委书记、局长李见秋...
省自然资源厅部署12号台风“红... 受今年第12号台风“红霞”影响,我省中部和南部地区有一轮强降雨过程,部分地区有较高的地质灾害风险。自...