编译安装nginx服务

目录

编译安装nginx服务

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

2.安装依赖包

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

4.编译安装Nginx

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

6.添加Nginx系统服务

--------认识Nginx服务的主配置文件 nginx.conf--------

1.全局配置

2.I/O 事件配置

3.HTTP 配置

日志格式设定:

--------访问状态统计配置--------

1.先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块

2.修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置

3.重启服务,访问测试

--------基于授权的访问控制--------

1.生成用户密码认证文件

2.修改主配置文件相对应目录,添加认证配置项

3.重启服务,访问测试

--------基于客户端的访问控制--------

--------基于域名的 Nginx 虚拟主机--------

1.为虚拟主机提供域名解析

2.为虚拟主机准备网页文档

3.修改Nginx的配置文件

4.重启服务,访问测试

--------基于IP 的 Nginx 虚拟主机--------

--------基于端口的 Nginx 虚拟主机--------


编译安装nginx服务

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

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

nginx-1.24.0.tar.gz

2.安装依赖包

#indinx的配置及运行需要

yum -y install prce zlib openssl-devel gcc gcc-c++ make

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

useradd -M -s /sbin/nologin nginx

4.编译安装Nginx

cd /opt
tar zxvf nginx-1.21.0.tar.gz -C /opt/
cd nginx-1.21.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-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

make upqrade   #要保证当前nginx进程是通过/usr/local/nginx/sbin/nginx启动的,而不是通过查找环境变量中那个nginx命令启动的

#或者先killall  nginx,再/usr/local/nginx/sbin/nginx

6.添加Nginx系统服务

方法一:

#!/bin/bash
#chkconfig:35 22 88
#desc: this is nginx service control scprit

CMD="/usr/local/nginx/sbin/nginx"
PIDFILE="/usr/local/nginx/logs/nginx.pid"
COUNT=$(ps -ef | egrep -v "service|grep|$$" | grep -c "nginx" )

case "$1" in
start)
#netstat -lntp l grep nginx
#if [$?-eq 0 ]
#ps -ef l egrep -v "grep|$$” l grep  "nginx"

if [ $COUNT -ge 1 ]
then
echo "Nginx 已经启动....."
else
echo "Nginx 正在启动....."
$CMD
fi
;;
stop)
kill -s QUIT $(cat $PIDFILE)
;;
restart)
s0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDFILE)
;;
status)
#if killall -0 nginx &> /dev/null
if [ $COUNT -ge 1 ]
then
echo "Nginx is running......"
fi

 方法二:

cd /usr/lib/systemd/system/nginx.service

[Unit]:服务的说明
Description:描述服务
After:依赖,当依赖的服务启动之后再启动自定义的服务

[Service]服务运行参数的设置
Type=forking是后台运行的形式,使用此启动类型应同时指定PIDFile=,以便systemd能够跟踪服务的主进程。
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户

chmod 754 /lib/systemd/system/nginx.service
 cd /etc/init.d

把之前的脚本改名字和删除都可以

然后重启

reboot
systemctl stop httpd

就可以用systemctl指令了

systemctl start nginx

--------认识Nginx服务的主配置文件 nginx.conf--------

1、全局块:全局配置,对全局生效;
2、events块:配置影响 Nginx 服务器与用户的网络连接;
3、http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置;
4、server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块;
5、location块:用于配置匹配的 uri ;
6、upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分。

vim /usr/local/nginx/conf/nginx.conf 

1.全局配置

#user nobody;                         #运行用户,若编译时未指定则默认为 nobody
worker_processes 1;               #工作进程数量,一般设置为和 CPU 核数一样;设置为auto,nginx将会自己获取这个数值
#error_log logs/error.log;         #错误日志文件的位置
#pid logs/nginx.pid;                 #PID 文件的位置
worker_rlimit_nofile 60000;     #设置所有worker进程最大可以打开的文件数,默认为1024

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kali Linux是一款专门为安全测试和渗透测试准备的操作系统,它并不直接提供对软件包的官方编译安装服务。不过,你可以通过Kali的终端(Terminal)使用包管理器apt来编译安装Nginx。以下是简单的步骤: 1. **打开终端**:在桌面左上角找到并点击“Activities”,输入`终端`或`konsole`,然后选择对应的程序。 2. **更新包列表**:首先,确保你的系统是最新的,输入以下命令并回车运行: ``` sudo apt update ``` 3. **安装依赖**:由于Nginx是从源码编译的,需要安装一些编译工具,运行: ``` sudo apt install build-essential curl git ``` 4. **下载Nginx源码**:使用`curl`下载最新版本的Nginx源码: ``` wget https://nginx.org/download/nginx-1.x.y.tar.gz (替换x.y.z为最新版本号) ``` 5. **解压并进入目录**: ``` tar -zxvf nginx-1.x.y.tar.gz cd nginx-1.x.y (替换1.x.y为解压后的文件名) ``` 6. **配置和编译**: 编译前先查看文档以定制你的配置,例如 `./configure`。然后编译安装: ``` make && sudo make install ``` 如果你想将Nginx设置为开机启动,并将其配置文件放在默认位置,可以运行: ``` sudo systemctl enable nginx ``` 7. **检查安装**:确认Nginx是否成功安装,运行: ``` sudo systemctl status nginx ``` 请注意,由于Kali的安全特性,建议在非生产环境中尝试这个过程。如果你在生产环境,通常会从官方仓库安装编译好的二进制包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值