一、Nginx安装
使用 Nginx 1.25.2(nginx: download) 版本
1、下载安装包:
wget http://nginx.org/download/nginx-1.25.2.tar.gz
2、解包 Nginx 软件包:
下载并解包 Nginx 软件包。可以从官方网站下载对应版本的 Nginx 软件包,然后使用以下命令解包:
tar -xvf nginx-1.25.2.tar.gz
3、安装 Nginx 依赖:
在安装 Nginx 之前,需要先安装一些依赖库:pcre、openssl、gcc、zlib(推荐使⽤yum源⾃动安装)
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
4、进入解压后的目录:
使用 cd 命令进入解压后的 Nginx 目录:
cd nginx-1.25.2
5、配置 Nginx:
使用 ./configure 命令配置 Nginx 以适应你的系统环境。这将根据你的系统特点生成一个适当的构建配置。
./configure
你可以在此步骤中添加自定义的配置参数,如指定安装路径、启用或禁用模块等。执行后会生成一个 Makefile 文件。
6、编译 Nginx:
使用 make 命令编译 Nginx。它会根据配置生成的参数和选项,将源代码编译成可执行的二进制文件。
make
7、安装 Nginx:
执行以下命令将编译后的 Nginx 安装到系统中:
make install
8、进入 sbin 目录并启动 Nginx:
进入 sbin 目录,然后执行以下命令启动 Nginx 服务:
cd /usr/local/nginx/sbin
./nginx
9、访问服务器的 80 端口:
一旦 Nginx 启动并监听了 80 端口,使用浏览器访问服务器的 IP 地址,例如 http://服务器IP,即可查看 Nginx 默认的欢迎页面。
这样,你就能够使用 Nginx 1.25.2 版本进行安装和启动,并在浏览器中访问服务器的 80 端口来验证是否成功。
Nginx 常用命令
1、启动 Nginx:使用 ./nginx 命令启动 Nginx 服务器。这会在前台启动 Nginx 并开始监听指定的端口。
2、终止 Nginx:使用 ./nginx -s stop 命令来停止正在运行的 Nginx 服务器。这会向 Nginx 发送关闭信号,使其停止运行。
3、重新加载配置文件:使用 ./nginx -s reload 命令重新加载 Nginx 的配置文件,而不需要停止服务器。当你修改了 Nginx 的配置文件(nginx.conf)后,可以使用这个命令使配置生效,而不中断服务。
4、如果还是不行,就执行一下./nginx -c /usr/local/nginx/conf/nginx.conf重新加载试试
需要注意的是,如果你在启动 Nginx 时已经指定了一个自定义的配置文件路径,例如:./nginx -c /path/to/nginx.conf,那么在使用 ./nginx -s reload 命令时,也要指定相同的配置文件路径。
/usr/local/nginx/sbin/nginx -c /path/to/nginx.conf -s reload
=========================================================================
二、附:可安装成系统服务
在 /etc/systemd/system/ 目录下创建一个新的服务文件,例如:nginx.service
vi /usr/lib/systemd/system/nginx.service
在打开的文件中,添加以下内容(需注意路径):
[Unit]
Description=Nginx HTTP Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
执行以下命令重新加载 systemd 配置文件:
systemctl daemon-reload
启动 Nginx 服务
systemctl start nginx
三、附:nginx默认配置详解
worker_processes 1; #允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多个processes,但是实际只会用其中一个
events {
#单个进程最大连接数(最大连接数=连接数*进程数)
#根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。
worker_connections 1024;
}
http {
#文件扩展名与文件类型映射表(是conf目录下的一个文件)
include mime.types;
#默认文件类型,如果mime.types预先定义的类型没匹配上,默认使用二进制流的方式传输
default_type application/octet-stream;
#sendfile指令指定nginx是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度。
sendfile on;
#长连接超时时间,单位是秒
keepalive_timeout 65;
#虚拟主机的配置
server {
#监听端口
listen 80;
#域名,可以有多个,用空格隔开
server_name localhost;
#配置根目录以及默认页面
location / {
root html;
index index.html index.htm;
}
#出错页面配置
error_page 500 502 503 504 /50x.html;
#/50x.html文件所在位置
location = /50x.html {
root html;
}
}
}
四、keepalived安装
keepalived简介:此软件的作用是虚拟出一个ip网址,多个服务器可以共同用这个ip,当master宕了后他会启用backup,保证这个虚拟的ip一直都可使用。
但是需要注意,这个软件是对主机级别的检测,并不仅局限于nginx。意思就是nginx宕掉,keepalived并不受影响,keepalived只受主机的影响。
如果想让他仅局限于nginx,可以写一个脚本。脚本里每秒ping一下nginx,如果发现nginx服务没了,则kill掉keepalived的进程即可。
#下载网址
https://www.keepalived.org/download.html#
#直接安装
yum install -y keepalived
#改为下面的配置
vi /etc/keepalived/keepalived.conf
#启动
systemctl start keepalived
1、keepalived.conf里删一删,剩下这些就够用了
! Configuration File for keepalived
global_defs {
router_id LB_102 #不同的机器这个不一样
}
#keepalived在内网中通讯的协议
vrrp_instance cuiGuoDong {
state MASTER #可以是MASTER或BACKUP,即主、从
interface ens33 #网卡名称
virtual_router_id 51
priority 100 #选举方式。谁的优先级越高,谁就是master。从机器此值小一点
advert_int 1 #间隔检测时间
#多个keeplivaed在同一个组里
authentication {
auth_type PASS
auth_pass 1111
}
#虚拟的ip地址
virtual_ipaddress {
192.168.8.200
}
}