Nginx网站服务配置文件实操看这篇就够了(一)

简介: Nginx网站服务配置文件实操看这篇就够了(一)

一、Nginx服务基础


1.1 关于Nginx

Nginx在国内的应用较为广泛,是一款高性能、轻量级web服务软件,性能是Apache的2-3倍,由俄罗斯人开发,目前已被美国公司收购


稳定性高

系统资源消耗低(内存)

对HTTP并发连接的处理能力高:单台物理服务器可支持30000~50000个并发请求(实际上2-3万)

1.2 Nginx相对于Apache的优点

轻显级,同样是web服务,比Apache 占用更少的内存及资源;

高并发,Nginx处理请求是异步非塞的,而Apache则是阻塞型的,在高并发下Nginx 能保持低资源低病耗高性能;

高度模块化的设计;

编写模块相对简单;

社区活跃,各种高性能模块出品迅速;

1.3 Apache 相对于Nginx的优点

rewrite,比Nginx 的rewrite强大;

模块超多,基本想到的都可以找到;

少bug,Nginxbug相对较多;

超稳定存在就是理由,一般来说,需要性能的web服务,用Nginx。如果不需要性能只求稳定,那就Apache。Nginx处理动态请求是弱项,一般动态请求要Apache去做,Nginx只适处理静态网页或反向代理,

1.4 Nginx和Apache的差异

·Nginx是一个基于事件的Web服务器,Apache是一个基于流程的服务器;

·Nginx所有请求都由一个线程处理,Apache单个线程处理单个请求;

·Nginx避免子进程的概念,Apache是基于子进程的;

·Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面一般;

·Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件;

·Nginx支持热部著,Apache不支持热部著;

·Nginx对于静态文件处理具有更高效率,Apache相对一般;

·Nginx在反向代理场景具有明显优势,Apache相对一般。


二、Nginx部署


1.关闭防火墙,将安装nginx所需软件包传到/opt目录下

systemctl stop firewalld 
systemctl disable firewalld 
setenforce 0

nginx依赖包下载地址

链接:https://pan.baidu.com/s/1xPo60mP1bS18oiFTauEy1w

提取码:gk3o



2.安装依赖包


nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件

yum -y install pcre-devel zlib-devel gcc gcc-c++ make
#pcre提供正则表达式
#zlib提供压缩功能
#gcc gcc-c++ make编译安装工具

3.创建运行用户、组

(Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

useradd -M -s /sbin/nologin nginx 
#创建nginx 用户,设置为不可登录

4.编译安装Nginx

cd/opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \       #指定nginx的安装路径
--user=nginx \                    #指定用户名(后期可以通过配置文件去改)
--group=nginx \                   #指定组名
--with-http_stub_status_module    #启用http stub status module模块以支持状态统计
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/      #让系统识别nginx的操作命令


遇到一个报错信息,原因是进行换行的时候\与前面的命令没有空格




5.检查、启动、重启、停止nginx服务


nginx -t    #检查配置文件是否配置正确(语法)
#启动
nginx
#停止
cat /usr/local/nginx/logs/nginx.pid 
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx 
killall -s QUIT nginx
#重载(不关闭进程重新读取服务)
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx 
killall -s HUP nginx
#日志分割,重新打开日志文件
kill -USR1 <PID号>
#平滑升级
kill -USR2 <PID号> 升级方法1
新版本升级:
tar-zxvf nginx-1.xx.xx.tar.gz
cd nginx-1.xx.xx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \ 
--with-http_ssl_module
#ssl是一种安全认证模块
make 
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old 
cp objs/nginx /usr/local/nginx/sbin/nginx
#kill -USR2 <PID号> 升级方法1 
make upgrade 升级方法2
#或者先killall nginx,再/usr/local/nginx/sbin/nginx 升级方法3



Apache和nginx的默认端口都是80,所以他俩不可能同时开启,要么删一个,要么改端口


6.添加nginx服务


方法1:通过脚本

#!/bin/bash
#chkconfig:35 99 20
#desc: this is nginx control scprit 
CMD="/usr/local/nginx/sbin/nginx"
PID="/usr/local/nginx/logs/nginx.pid"
#通过命令获取nginx的命令和PID
case "$1" in 
start)
    $CMD
;; 
stop)
    kill -s QUIT $(cat $PID)
;; 
restart)
    $0 stop
    $0 start
;;
reload)
#重载
    kill -s HUP $(cat $PID)
;;
*) 
    echo "Usage: $0 {start|stop|restart|reload}"
    exit 1
esac



方法2:通过system中创建服务

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx 
After=network.target
[Service]
Type=forking 
PIDFile=/usr/local/nginx/logs/nginx.pid 
ExecStart=/usr/local/nginx/sbin/nginx 
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/bin/kill -s QUIT $MAINPID 
PrivateTmp=true
[Install]
WantedBy=multi-user.target
-----------------------------------------------------------
[Unit]:服务的说明
Description:描述服务
After:依赖,当依赖的服务启动之后再启动自定义的服务
[Service]服务运行参数的设置
Type=forking是后台运行的形式,使用此启动类型应同时指定PIDFile=,以便systemd能够跟踪服务的主进程。
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
Privatermp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户


此时服务已经起来


默认文件位置在/usr/local/nginx/html/

目录
相关文章
|
1月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
64 5
|
13天前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
160 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
30天前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
1月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
75 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
1月前
|
域名解析 网络协议 应用服务中间件
nginx server_name配置文件覆盖不生效
nginx server_name配置文件覆盖不生效
|
1月前
|
应用服务中间件 nginx
nginx 配置文件
nginx 配置文件
|
1月前
|
应用服务中间件 Apache 开发工具
nginx服务企业应用
nginx服务企业应用
|
1月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
158 0
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
76 0
下一篇
无影云桌面