Nginx服务安装

news2024/10/1 21:27:36

        Nginx(发音为[engine x])专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消 耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000~50000个并发请求)。正因 为如此,大量提供社交网络、新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提 供Web服务。

安装及运行控制

        Nginx最新的稳定版本为1.12.0.其安装文件可以从官方网站http://www.nginx.org/下载。

1.编译安装Nginx

(1)安装支持软件

Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel)。以便提供相应的库和头文件,确保Nginx的安装顺利完成,具体安装命令如下所示。

[root@llcgc ~]# mount /dev/cdrom /mnt/       //先挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@llcgc ~]# yum -y install pcre-devel zlib-devel

(2)创建运行用户、组

Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其 访问权限,增加灵活性,降低安全风险,例如,创建一个名为nginx的用户.不建立宿主文件夹,也 禁止登录到 Shell 环境。

[root@llcgc ~]# useradd -M -s /sbin/nologin nginx

(3)编译安装

配置 Nginx的编译选项时,将安装目录设为/usr/locael/nginx,运行用户及组均设为nginx;启用 http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息。具体选项根据实际需要 来定,配置前可参考“./configure--help”给出的说明。

[root@llcgc ~]# rz -E    //将源码包nginx-1.12.0.tar.gz拉进来
rz waiting to receive.

[root@llcgc ~]# tar zxf nginx-1.12.0.tar.gz 
[root@llcgc ~]# cd nginx-1.12.0/
[root@llcgc nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@llcgc nginx-1.12.0]# make
[root@llcgc nginx-1.12.0]# make install

为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行 “nginx”命令就可以调用Nginx的主程序。

[root@llcgc nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@llcgc nginx-1.12.0]# ls -l /usr/local/sbin/nginx 
lrwxrwxrwx. 1 root root 27 1月  11 15:09 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

2.Nginx的运行控制

(1)检测配置文件

与Apache的主程序httpd类似,Nginx的主程序也提供了“-t”选项用来对配置文件进行检查. 以便找出不当或错误的配置.配置文件nginx.conf默认位于安装目录下的conf/子目录中,若要检查位于其他位置的配置文件,可使用“-c”选项来指定路径。

[root@llcgc ~]# nginx -t

(2)启动、停止Nginx

直接运行nginx命令即可启动Nginx服务器,这种方式将使用默认的配置文件,若要改用其他配 置文件,需添加“-c配置文件路径”选项来指定配置文件路径,需要注意的是,若服务器中已装有 httpd等其他Web服务软件,应采取修改端口、停用或卸载等措施避免端口冲突。

[root@llcgc ~]# nginx 

启动后浏览器直接访问本机IP地址就可以连接到该画面:

        通过检查Nginx程序的监听状态,或者在浏览器中访问此Web 服务(默认页面将显示“Welcome to nginx!"),可以确认Nginx服务是否正常运行,下面示例中提到的elirks是Linux系统中常用的文本浏览器。

[root@llcgc ~]# netstat -anpt | grep nginx
[root@llcgc ~]# yum install -y elinks
[root@llcgc ~]# elinks http://llcgc    //使用elinks浏览器访问web服务时,显示“Welcome to nginx”页面,表明Nginx服务已经正常运行

主程序Nginx支持标准的进程信号,通过kill或killall命令发送HUP信号表示重载配置,QUIT信 号表示退出进程,KIL信号表示杀死进程,例如,若使用killall命令,重载配置、停止服务的操作分 别如下所示(通过‘-s选项指定信号种类),最小化安装的centos系统默认没有安装killall命令, 需要先通过yum安装

[root@llcgc ~]# yum install -y psmisc
[root@llcgc ~]# killall -s HUP nginx
[root@llcgc ~]# killall -s QUIT nginx

当Nginx进程运行时,PID号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令, 也可以根据nginx.pid文件中的PID号来进行控制。

(3)使用Nginx服务脚本

为了使Nginx服务的启动,停止.重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和systemctl 工具来进行管理,也更加符合CentOS系统的管理习惯。

[root@llcgc ~]# 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@llcgc ~]# chmod +x /etc/init.d/nginx      //给脚本执行权限
[root@llcgc ~]# chkconfig --add nginx           //添加为系统服务
[root@llcgc ~]# systemctl status nginx          //查看Nginx服务状态
● nginx.service - SYSV: Nginx Service Control Script
   Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)

这样,就可以通过systemctl命令控制Nginx脚本来启动、停止、重启、重载Nginx服务器了,方 法是在执行时添加相应的start.stop.restart.reload参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1378309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Swin Transformer 学习笔记(附代码)

论文地址:https://arxiv.org/pdf/2103.14030.pdf 代码地址: GitHub - microsoft/Swin-Transformer: This is an official implementation for "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows". 1.是什么&#x…

Mr_HJ / form-generator项目文档学习与记录(续2)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/n…

Python入门0基础学习笔记

1.编程之前 在编写代码之前,还有两件事需要做: 安装 Python 解释器:计算机是没法直接读懂 Python 代码的,需要一个解释器作为中间的翻译,把代码转换成字节码之后再执行。 Python 是翻译一行执行一行。一般说的安装 …

AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(七)

08.什么是模块化? CommonJS 标准 09.ECMAScript 标准 - 默认导出和导入 10.ECMAScript 标准 - 命名导出和导入 11.包的概念 实操: server.js utils/lib/index.js utils/package.json 12.npm - 软件包管理器 13.npm - 安装所有依赖 从别处(网…

游戏测试大揭秘,帮你轻松过关

游戏测试可以看作是软件测试的一个分支,黑盒测试最基本的要求是会玩游戏。小公司会要求测试能力更加全面的员工,其中除了功能测试还要会性能测试,兼容测试,弱网测试,自动化测试等。 游戏测试是游戏开发过程中必不可少…

【java八股文】之MYSQL基础篇

1、数据库三大范式是什么 第一范式:每个列都不可以再拆分。 第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。 第三范式:在第二范式的基础上,非主键列只依赖于主键&#…

打铁需要自身硬,我敢和欧系谬论硬刚源自实力与信心

我揭露欧系数学荒谬的目的是驱逐纯粹数学出中国,以恢复中华数学体系、最终让中华数学领导世界;我从来不隐瞒自己的“野心”,我对此有着绝对的信心。民族情怀是中国数学人的短板 纯粹数学是欧洲人的文化、是欧系数学的主体,它的历…

十四.变量、异常处理

变量、异常处理 1.变量1.1系统变量1.1.1系统变量分类1.1.2查看系统变量 1.2用户变量1.2.1用户变量分类1.2.2会话用户变量1.2.3局部变量1.2.4对比会话用户变量与局部变量 2.定义条件与处理程序2.1案例分析2.2定义条件2.3定义处理程序2.4案例解决 1.变量 在MySQL数据库的存储过程…

acwing4986.互质数的个数

题目不难 有个好的细节想着分享一下 一开始写的有点问题&#xff5e;需要特判掉一个... #include<bits/stdc.h> using namespace std; using ll long long; const int N 1e510;const ll mod 998244353;ll qmi(ll a,ll b){ll ans 1;while(b){if(b&1)ans ans*a%…

从vue小白到高手,从一个内容管理网站开始实战开发第七天,登录功能后台功能设计--通用分页、枚举以及相关工具类

上一篇实现了数据库访问层的相关功能,还没有了解的小伙伴可以去看前面文章实现的内容,因为每一篇内容都是连贯的,不学习的话可能下面的内容学习起来会有点摸不着头脑 从vue小白到高手,从一个内容管理网站开始实战开发第六天,登录功能后台功能设计--API项目中的登录实现(二…

LLM大模型和数据标注

对于那些不精通机器学习的人来说&#xff0c;像 ChatGPT 所基于的 GPT-3.5 这样的大型语言模型似乎是自给自足的。这些模型通过无监督或自我监督学习进行训练。简而言之&#xff0c;只需极少的人工干预&#xff0c;就能生成一个能像人类一样对话的模型。 这就引出了一个问题--…

C# 关于多态性学习

前言 我相信大家都对面向对象的三个特征封装、继承、多态很熟悉&#xff0c;每个人都能说上一两句&#xff0c;但是大多数都仅仅是知道这些是什么&#xff0c;今天这篇文章是对C# 的多态性学习一下&#xff0c;巩固自己的基础&#xff0c;我们都知道同一操作作用于不同的对象&…

内 存 取 证

1.用户密码 从内存中获取到用户admin的密码并且破解密码&#xff0c;以Flag{admin,password}形式提交(密码为6位)&#xff1b; 1&#xff09;查看帮助 -h ./volatility_2.6_lin64_standalone -h 2&#xff09;获取内存镜像文件的信息 imageinfo ./volatility_2.6_lin64_stand…

详解java多态

目录 一、多态的概念 二、多态实现条件 三、重写 3.1重写概念 3.2重写规则 3.3重载和重写的区别&#xff1f;&#xff08;面试重点&#xff09; 四、静态绑定和动态绑定 五、 向上转移和向下转型 5.1 向上转型 5.2 向下转型 六、多态的优缺点 6.1使用多态的好处 6…

VSCode 搭建Java开发环境

笔者使用最多的语言是C&#xff0c;也使用过不少其它语言&#xff0c;像Erlang&#xff0c;Python&#xff0c;Lua&#xff0c;C#等等&#xff0c;目前项目中在使用Go&#xff0c;但是没使用过Java。最近看到C#夺冠&#xff0c;首次荣获 TIOBE 年度编程语言&#xff0c;同时也看…

vscode中文插件以及运行php代码

vscode中文版插件 vscode运行php代码 1.插件安装 2.配置项 左上角文件——首选项——设置——输入php.validate.executablePath {"workbench.colorTheme": "Default Dark Modern","php.validate.executablePath": "E:/phpstudy/php.exe&q…

Pytorch基础:数据读取与预处理——调用PyTorch官方数据集

数据读取与预处理——调用PyTorch官方数据集 1. 从网络端下载 FashionMNIST 数据集到本地2. 数据集可视化 1. 从网络端下载 FashionMNIST 数据集到本地 (base) PS C:\Users\孙明阳> conda activate yang (yang) PS C:\Users\孙明阳> python Python 3.11.5 | packaged by…

Vue-9、Vue事件修饰符

1、prevent 阻止默认事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件修饰符</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdeliv…

创建了使用说明书之后,怎样才能监测用户的行为和反馈?

在当今数字化的时代&#xff0c;了解用户的行为和反馈对于产品和服务的质量提升至关重要。对于使用说明书而言&#xff0c;仅仅创建出来是远远不够的&#xff0c;还需要持续地监测用户的行为和反馈&#xff0c;以便不断优化和改进。那怎样才能有效地监测用户的行为和反馈呢&…

Java十大经典算法—KMP

字符串匹配问题&#xff1a; 1.暴力匹配 public class ViolenceMatch {public static void main(String[] args) {String str1 "硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好";String str2 "尚硅谷你尚硅你好";int index violenceMatch(str1, str2);S…