跳至主要內容

Nginx 安装

Feny环境配置NginxNginx环境配置大约 4 分钟约 1316 字

Nginx 安装

Windows 下安装

一、下载安装

官网下载地址:https://nginx.org/en/download.htmlopen in new window

选择最新的Stable version(稳定版本)下载到本地

image-20231228174212239

下载完成后,解压放入本地非中文的文件夹中

二、启动 nginx

在此之前打开conf文件夹下的nginx.conf查看端口占用情况

默认是80端口,改成自己要部署网站使用的端口。改好以后再使用命令启动。

进入解压后的nginx,启动cmd,输入 start nginx 启动服务

start nginx
image-20231228174525951image-20231228174542552

相关启动命令

注意不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程

在nginx.exe目录,打开命令行工具,用命令 启动/关闭/重启nginx

start nginx 启动nginx

nginx -s reload 修改配置后重新加载生效

nginx -s reopen 重新打开日志文件

nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

nginx -s stop 快速停止nginx

nginx -s quit 完整有序的停止nginx

三、验证是否成功

浏览器输入在浏览器输入:http://localhost:端口 , 默认80端口直接http://localhostopen in new window,能看到界面说明启动成功。

image-20231228175540971

CentOS 下安装

一、准备工作

首先需要安装gcc,安装G++编译器,安装PCRE库,安装zlib库,安装openssl

#查看是否存在
gcc -v
yum install -y gcc
# 用于解析正则表达式
yum install -y pcre pcre-devel
# zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
# SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel

二、安装 nginx

1、下载nginx解压安装包

wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz

2、编译安装Nginx

进入nginx-1.24.0目录下,按顺序执行

cd nginx-1.24.0
./configure --with-http_ssl_module
make
make install

三、启动服务

切换目录到/usr/local/nginx/sbin下面,启动nginx服务

cd /usr/local/nginx/sbin
./nginx

也可直接

/usr/local/nginx/sbin/nginx

查看nginx服务是否启动成功

ps -ef | grep nginx

停止服务

/usr/local/nginx/sbin/nginx -s stop

重启服务

/usr/local/nginx/sbin/nginx -s reload

四、开放端口

开启80端口,以便外部访问

firewall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙

firewall-cmd --reload

五、验证是否成功

浏览器输入服务器IP地址,如下图所示即表示成功。

image-20231228170558106

六、设置开机启动

编辑 /etc/systemd/system/nginx.service 文件

vim /etc/systemd/system/nginx.service

添加内容如下:

[Unit]
#描述服务
Description=nginx
#描述服务类别
After=network.target
 
#服务运行参数的设置,注意【Service】的启动、重启、停止命令都要用绝对路径
[Service]
#后台运行的形式
Type=forking
#服务具体运行的命令
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#重启命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload
#停止命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit
#表示给服务分配独立的临时空间
PrivateTmp=true
 
#运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
[Install]
WantedBy=multi-user.target

ExecStart 配置成自己的路径

重新加载系统服务

systemctl daemon-reload

开机自动启动

systemctl enable nginx

启动服务

systemctl start nginx

所有命令

# 启动nginx服务
systemctl start nginx
# 停止nginx服务
systemctl stop nginx
# 设置开机自启动
systemctl enable nginx
# 停止开机自启动
systemctl disable nginx
# 查看服务当前状态
systemctl status nginx
# 重新启动服务
systemctl restart nginx
# 查看所有已启动的服务
systemctl list-units --type=service

七、其他

如果是阿里云服务器,可能还需要在服务器控制台安全组添加相应的端口才行

Docker 下安装

拉取镜像

docker pull nginx

创建挂载目录

mkdir -p /data/docker/nginx/conf /data/docker/nginx/conf/conf.d /data/docker/nginx/logs /data/docker/nginx/html

复制 nginx 配置文件

启动 nginx

docker run --name=nginx -p 80:80 -d nginx

将容器中的nginx.conf文件和conf.d文件夹复制到宿主机

# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /data/docker/nginx/conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /data/docker/nginx/conf
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /data/docker/nginx

停止 nginx

docker stop nginx

删除 nginx

docker rm nginx

启动容器并作目录挂载

docker run -idt --name=nginx -p 80:80 -p 443:443 --restart=always --privileged=true \
-v /data/docker/nginx/html:/usr/share/nginx/html \
-v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/docker/nginx/conf/conf.d/:/etc/nginx/conf.d/ \
-v /data/docker/nginx/logs:/var/log/nginx \
nginx

命令含义

docker run  在docker中启动一个容器实例
		-itd
            i:以交互模式运行容器,通常与 -t 同时使用;
            t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
            d:表示后台启动
		-p 80:80  容器与主机映射端口为,主机80,容器80
		--name nginx  容器运行后的名称
		--restart=always  自动启动容器
		-v /data/docker/nginx/html:/usr/share/nginx/html  挂载nginx静态文件
		-v /data/docker/nginx/conf/nginx.conf  挂载nginx.conf配置文件
		-v /data/docker/nginx/conf/conf.d/  挂载nginx配置文件
		-v /data/docker/nginx/logs:/var/log/nginx  挂载nginx日志文件
		nginx	运行的版本

部署完成!!!

Nginx 高可用

https://www.jianshu.com/p/b60fcab2a734open in new window

https://www.cnblogs.com/wenxuehai/p/15013654.htmlopen in new window

上次编辑于:
贡献者: Feny