Nginx 安装与部署

文章和代码已经归档至【Github仓库:https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 nginx 也可获取。

文章目录

    • 虚拟机安装CentOS7.4
    • Linux配置
      • 配置上网
      • 配置静态ip
    • Nginx的安装
      • 版本区别
      • 备份克隆
    • 安装
      • 编译安装
      • 报错解决
    • 启动Nginx
      • 防火墙
    • 安装成系统服务

虚拟机:VMware workstation 16
操作系统:CentOS 7.4
下载地址:https://vault.centos.org/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso

建议电脑配置:

  • 内存:建议8G以上
  • 磁盘:建议使用SSD
  • CPU:4核以上主流即可

虚拟机安装CentOS7.4

1 新建虚拟机

2 典型安装

3 选择CentOS镜像

4 存储位置

5 虚拟机磁盘配置 :注意这里只是分配最大磁盘大小,实际不会在一开始占用那么多,是一个动态的区域,在实际实用中逐渐分配。

6 自定义其他配置:默认即可。

7 安装系统

默认即可,在分区选择时记得点进去确认一下。

接下来继续安装,安装过程中可以设置root密码。安装后重启即可。

Linux配置

配置上网

修改配置网卡配置文件(Linux中所有设置都是通过修改配置文件实现的)

vi /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT 修改为yes即可,即重启操作系统时就会重启该网卡。

然后重启网络服务

systemctl restart network

重新测试ping可发现,网络正常。

可以用 ip addr 测试当前ip地址。

通常,为了便于连接服务器以及复制粘贴等功能,一般采用XShell作为终端。下载地址:https://www.xshell.com/zh/free-for-home-school/

配置静态ip

之前的网络配置是使用dhcp方式分配ip地址,这种方式会在系统每次联网的时候分配一个ip给我们用,系统下次启动的时候ip会变,不方便管理。

配置静态ip首先需要打开网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改启动协议 BOOTPROTO=static

手动配置ip地址

IPADDR=192.168.44.101
NETMASK=255.255.255.0
GATEWAY=192.168.44.1
DNS1=8.8.8.8

一些常见的公网DNS服务器:

阿里

223.5.5.5
223.6.6.6

腾讯

119.29.29.29
182.254.118.118

百度

180.76.76.76

114DNS

114.114.114.114
114.114.115.115

谷歌

8.8.8.8
8.8.4.4

注意,这里是严格区分大小写的。

样例:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=10ac735e-0b8f-4b19-9747-ff28b58a1547
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.44.101
NETMASK=255.255.255.0
GATEWAY=192.168.44.1
DNS1=8.8.8.8

然后重启网络服务即可。

systemctl restart network

这里第一次配置时,网络仍然无法连接,这里我修改了网关与虚拟机的网关保持一致。

虚拟机网关查看方法:

编辑---> 虚拟网络编辑器--->选择VMnet8--->NAT设置--->网关IP

然后把上述GATEWAY修改为你的网关IP即可。然后就可以ping通了,仅供参考。

Nginx的安装

版本区别

常用版本分为四大阵营

Nginx开源版:非常纯粹的反向代理,负载均衡。
http://nginx.org/

Nginx plus 商业版
https://www.nginx.com

openresty:以Lua脚本扩展的nginx
http://openresty.org/cn/

Tengine:以C语言扩展的nginx
http://tengine.taobao.org/

备份克隆

在安装前,最好先克隆备份,以防安装错误后难以恢复。

首先可以通过 init 0 关闭虚拟机。

然后右键虚拟机,选择 管理—>克隆,选择创建连接克隆,这种克隆方法可以比较出两者之间的差异。

安装

编译安装

首先传输nginx安装包,然后 tar zxvf nginx-1.21.6.tar.gz, 进入解压后的文件夹,执行 ./configure 安装,由于缺少相关的依赖,因此会报错。只需要根据对应的报错安装即可。

./configure --prefix=/usr/local/nginx #设置前缀,安装到指定的目录下
make
make install

报错解决

提示

checking for OSLinux 3.10.0-693.el7.x86_64 x86_64
checking for C compiler ... not found
./configure: error: C compiler cc is not found

安装gcc

yum install -y gcc

提示

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

安装perl库

yum install -y pcre pcre-devel

提示:

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.

安装zlib库

yum install -y zlib zlib-devel

启动Nginx

手动启动的方式,进入安装好的目录/usr/local/nginx/sbin

./nginx 启动
./nginx -s stop 快速停止
./nginx -s quit 在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置

防火墙

关闭防火墙

systemctl stop firewalld.service

禁止防火墙开机启动

systemctl disable firewalld.service

放行端口

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

重启防火墙

firewall-cmd --reload

关闭防火墙后启动服务,可以通过浏览器访问ip验证服务是否启动。若成功则如下所示:

安装成系统服务

每次手动启动服务过于复杂,可以考虑安装成系统级的服务。

创建服务脚本

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

服务脚本内容

[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
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 stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

重新加载系统服务

systemctl daemon-reload

启动服务

systemctl start nginx.service

查看服务状态(是否启动)

systemctl status nginx.service

image-20230301195431814

可以看到,服务是已经active的。

开机启动

systemctl enable nginx.service

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

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

相关文章

分布式 - 消息队列Kafka:Kafka生产者发送消息的方式

文章目录 1. Kafka 生产者2. kafaka 命令行操作3. kafka 生产者发送消息流程4. Kafka 生产者的创建5. Kafka 生产者发送消息1. 发送即忘记2. 同步发送3. 异步发送 6. Kafka 消息对象 ProducerRecord 1. Kafka 生产者 不管是把Kafka作为消息队列、消息总线还是数据存储平台&…

wpf控件上移下移,调整子集控件显示顺序

页面代码: <!-- 导出A2,自定义导出设置列,添加时间:2023-8-9 14:14:18,作者:whl; --><Window x:Class="WpfSnqkGasAnalysis.WindowGasExportA2"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http:/…

git远程仓库的创建及使用

1.仓库的概念&#xff1a; 1.1 本地仓库&#xff1a; 了解远程仓库前我们先了解一下本地仓库&#xff0c;本地仓库开发人员在完成部分代码的编写之后&#xff0c;可以将这一部分的代码做一个提交。这个提交完全就是一个新的版本提交&#xff0c;当然这个提交动作是在开发者的电…

B100-技能提升-线程池分布式锁

目录 线程池什么是线程池&#xff1f;为什么用线程池?线程池原理常见四种线程池和自定义线程池 线程池 什么是线程池&#xff1f; 池化技术 为什么用线程池? 1 由于设置最大线程数&#xff0c;防止线程过多而导致系统崩溃。 2 线程复用&#xff0c;不需要频繁创建或销毁…

Linux安装Zookeeper

1、Zookeeper简介 ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域…

基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

环保行业如何开发废品回收微信小程序

废品回收是近年来受到越来越多人关注的环保行动。为了推动废品回收的普及和方便&#xff0c;我们可以利用微信小程序进行制作&#xff0c;方便人们随时随地参与废品回收。 首先&#xff0c;我们需要注册并登录乔拓云账号&#xff0c;并进入后台。乔拓云是一个提供微信小程序制作…

数据结构(一):顺序表详解

在正式介绍顺序表之前&#xff0c;我们有必要先了解一个名词&#xff1a;线性表。 线性表&#xff1a; 线性表是&#xff0c;具有n个相同特性的数据元素的有限序列。常见的线性表&#xff1a;顺序表、链表、栈、队列、数组、字符串... 线性表在逻辑上是线性结构&#xff0c;但…

上传代码到GitCode

Git 全局设置 git config --global user.name "AnyaPapa" git config --global user.email "fangtaihongqq.com" 添加SSH密钥 Mac终端输入命令 cd existing_folder git init git remote add origin gitgitcode.net:Java_1710/test.git git add . git co…

2023国赛数学建模A题思路分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

Mac电脑如何把照片以文件格式导出?

在Mac电脑上&#xff0c;我们经常会拍摄、保存和编辑各种照片。有时候&#xff0c;我们可能需要将这些照片以文件形式导出&#xff0c;以便与他人共享、打印或备份。无论您是要将照片发送给朋友、上传到社交媒体&#xff0c;还是保存到外部存储设备&#xff0c;导出照片为文件是…

我的Python教程:使用Pyecharts画柱状图

Pyecharts是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个基于 JavaScript 的数据可视化库&#xff0c;提供了丰富的图表类型和交互功能。通过 Pyecharts&#xff0c;你可以使用 Python 代码生成各种类型的 Echarts 图表&#xff0c;例如折线图、柱状图、饼图、散点图…

不做Linux就没前途吗?

答案当然是——并不会 我晚上回来的时候跟一个今年的毕业生聊天&#xff0c;他入职了一家公司&#xff0c;但是从事的不是Linux相关的工作。 我这里想说的是&#xff0c;做Linux可以赚钱&#xff0c;Linux现在是全世界最牛逼的开源项目一点都不为过&#xff0c;但是Linux也不是…

【Mysql】数据库基础与基本操作

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

一分钟上手Vue VueI18n Internationalization(i18n)多国语言系统开发、国际化、中英文语言切换!

这里以Vue2为例子 第一步&#xff1a;安装vue-i18n npm install vue-i18n8.26.5 第二步&#xff1a;在src下创建js文件夹&#xff0c;继续创建language文件夹 在language文件夹里面创建zh.js、en.js、index.js这仨文件 这仨文件代码分别如下&#xff1a; zh.js export de…

在Eclipse在Java里面调用Python脚本的方法

由于项目中需要用到Java调用Python的脚本&#xff0c;来实现一些功能&#xff0c;就对jython做了一些了解&#xff0c;通过jython可以实现java对python脚本的调用。Java调用Python开发环境配置(EclipseJythonPyDev) 1、Jython是什么 Java可以使用Jython库来调用Python库。Jyt…

你不得不懂的IT知识-《敏捷项目管理》

国林哥在IBM时&#xff0c;几乎每天都会收到关于“敏捷”相关的邮件&#xff0c;公司鼓励我们去学习邮件里的知识&#xff0c;参加敏捷相关的认证和培训。刚开始我和大多数同事一样不管不顾&#xff0c;后来随着PBC里要求加上成长目标&#xff0c;比如要获得一个认证&#xff0…

React使用antd的图片预览组件,点击哪个图片就预览哪个的设置

使用了官方推荐的相册模式的预览&#xff0c;但是点击预览之后&#xff0c;每次都是从图片列表的第一张开始预览&#xff0c;而不是点击哪张就从哪张开始预览&#xff1a; 所以这里我就封装了一下&#xff0c;对初始化预览的列表进行了逻辑处理&#xff1a; 当点击开始预览的…

加载并绘制时间域内的心电图信号,并实施Q因子为1的陷波滤波器以去除50 Hz频率研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…