CentOS下搭建Nginx服务器

2023-05-16

目录

  • 一、CentOS系统及Nginx服务器的介绍
    • 1、CentOS系统
    • 2、Nginx服务器
  • 二、Xshell与Xftp
    • 1、Xshell与Xftp的作用
    • 2、获取Xshell与Xftp
    • 3、Xshell的安装与使用
    • 4、Xftp的安装与使用
  • 三、安装Nginx的依赖库
    • 1、准备工作
    • 2、安装openssl
    • 3、安装zlib
    • 4、安装pcre
  • 四、安装Nginx
    • 1、安装命令
    • 2、启动Nginx
    • 3、查看nginx进程号及运行情况
    • 4、可能出现的报错
  • 五、测试Nginx配置的默认web服务器是否能正常运行
  • 六、设置开机自启动
    • 1、命令方式
    • 2、脚本方式
  • 七、创建个人网站
    • 1、简单配置Nginx(修改nginx.conf)
    • 2、开启外网访问
  • 八、参考

一、CentOS系统及Nginx服务器的介绍

1、CentOS系统

CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。

CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。

2、Nginx服务器

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

二、Xshell与Xftp

1、Xshell与Xftp的作用

1.1、Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。

1.2、Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。。

2、获取Xshell与Xftp

Xshell与Xftp的下载地址:https://www.netsarang.com/zh/xshell/

或在此下载,Xshell-6.0.0204p与Xftp-6.0.0199p链接(提取码:yxdv ):https://pan.baidu.com/s/1gPxk0m3nHmqX9cP3MLeQbQ

如果是个人学习研究的话可以点击右边的【家庭和学校用户的免费许可证】下的【免费授权页面】后填写姓名及邮箱就可以获取免费版的Xshell与Xftp。
在这里插入图片描述

在这里插入图片描述

3、Xshell的安装与使用

3.1、Xshell的安装
双击后按提示一直点击下一步即可。

3.2、Xshell的登录
打开Xshell软件,点击左上角的【文件】→【新建】,填入【名称】、【主机IP】后点击连接即可连接到远程计算机。
在这里插入图片描述

4、Xftp的安装与使用

4.1、Xftp的安装
双击后按提示一直点击下一步即可。

4.2、Xftp的登录
打开Xftp软件,点击左上角的【文件】→【新建】,填入【名称】、【主机IP】、【用户名】、【密码】后点击连接即可连接到远程计算机,实现实现本地计算机与远程计算机的文件传输。
在这里插入图片描述

三、安装Nginx的依赖库

1、准备工作

1.1、获取Nginx依赖的三个包
Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,安装顺序为以下顺序:openssl库、zlib库、pcre库。
①SSL功能需要openssl库,下载地址:https://www.openssl.org/
②gzip模块需要zlib库,下载地址:http://www.zlib.net/
③rewrite模块需要pcre库,下载地址:http://www.pcre.org/

1.2、获取Nginx包,下载地址: http://nginx.org/en/download.html

1.3、使用Xshell软件,在登录远程计算机后安装gcc编译环境,不然在安装包时会出错,命令:yum -y install gcc gcc-c++

1.4、使用Xftp软件把下载好的四个压缩包传输至远程计算机中。
注:记住压缩包在远程计算机中的路径。我的文件是存放在/usr/local下。

注:我的四个安装包分别为openssl-1.1.1h.tar.gz、zlib-1.2.11.tar.gz、pcre-8.00.tar.gz、nginx-1.19.4.tar.gz。

也可以在安装前查看是否已存在,命令:

rpm -q openssl
rpm -q zlib
rpm -q pcre
rpm -q nginx

2、安装openssl

2.1、安装命令
cd /usr/local //打开文件夹
tar -zxvf openssl-1.1.1h.tar.gz //解压
cd openssl-1.1.1h //打开目录
./config //执行配置文件
make //编译所有
make install //安装

2.2、可能出现的报错
在这里插入图片描述
解决办法:更新或安装perl。
(1)查看是否已安装perl,命令:rpm -q perl
(2)查询perl的真实安装路径,命令:whereis perl
(3)下载新版本perl,下载地址:http://www.cpan.org/src
(4)安装,命令:

cd 安装包路径
tar -zxvf 安装包名称
cd 安装目录路径
./Configure -des -Dprefix=/usr
make
make install

(5)查询perl是否安装成功,命令:perl -version

3、安装zlib

安装命令:
cd /usr/local
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

4、安装pcre

安装命令:
cd /usr/local
tar -zxvf pcre-8.00.tar.gz
cd pcre-8.00
./configure
make
make install

四、安装Nginx

1、安装命令

cd /usr/local
tar -zxvf nginx-1.19.4.tar.gz
cd nginx-1.19.4
useradd nginx //添加新的用户账号
⑤//配置nginx

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module  

说明:
// --user=nginx --group=nginx:设置nginx允许的用户和组为nginx
//–prefix=/usr/local/nginx/:设置nginx安装路径
// --with-http_stub_status_module:安装允许状态模块
// --with-http_ssl_module:安装ssl模块
//更多参数请参看 ./configure --help

注:此时nginx的安装路径已改变,可通过whereis nginx命令查看nginx的安装路径。

make && make install
⑦检查是否安装成功,命令:cd /usr/local/nginx/sbin./nginx -t

显示如下,安装成功
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ //创建软链接,功能是为某一个文件在另外一个位置建立一个同不的链接;用法是:ln –s 源文件 目标文件。
⑨安装完成后查看Nginx的相关环境配置信息是否正确 ,命令:/usr/local/nginx/sbin/nginx –V

2、启动Nginx

启动Nginx,命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confcd /usr/local/nginx/sbin./nginx

停止Nginx,命令:pkill -9 nginx

3、查看nginx进程号及运行情况

查看nginx进程号及运行情况,命令:ps -ef | grep nginx

测试端口,命令:netstat -na | grep 80

4、可能出现的报错

4.1、报错如下图所示
在这里插入图片描述
这是因为没有安装nginx用户导致的无法启动,解决办法:

命令:
useradd -s /sbin/nologin -M nginx
id nginx
/usr/local/nginx/sbin/nginx
netstat -tlunp | grep nginx //查看nginx进程监听端口

4.2、报错如下图所示
在这里插入图片描述
解决办法,参考:https://www.cnblogs.com/Primzahl/p/9261760.html

4.3、报错如下图所示
在这里插入图片描述
原因是文件/usr/local/nginx下没有权限,解决办法:

命令:
su //配置权限需要切换到root用户下
chnod -R 777 usr/local/nginx/

五、测试Nginx配置的默认web服务器是否能正常运行

1、通过linux自带命令links 进行测试,命令:links 127.0.0.1

注:出现 welcome to nginx!说明nginx服务启动成功

2、通过浏览器测试,在浏览器输入:自己的IP,出现下图则说明安装成功。
在这里插入图片描述

六、设置开机自启动

如果你的是云计算机则无需设置此步。

1、命令方式

将nginx启动命令添加到/etc/rc.local ,命令:

1)echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local
2)cat /etc/rc.local | grep nginx 
3/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

2、脚本方式

通过设置System V 脚本,使用server命令启动nginx服务。

①在/etc/init.d/下创建nginx启动脚本文件,命令:cd /etc/init.d/vim nginx //打开目录后,在目录下用vim命令创建nginx文件,并把脚本代码复制进去后保存退出。脚本代码如下:

#!/bin/sh 
# 
# nginx - this script starts and stops the nginx daemon 
# 
# chkconfig: - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
#   proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config: /etc/nginx/nginx.conf 
# config: /etc/sysconfig/nginx 
# pidfile: /var/run/nginx.pid 
# Source function library. 
. /etc/rc.d/init.d/functions 
# Source networking configuration. 
. /etc/sysconfig/network 
# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 
    nginx="/usr/local/nginx/sbin/nginx" 
    prog=$(basename $nginx) 
    NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
    lockfile=/var/lock/subsys/nginx 
 
start() { 
    [ -x $nginx ] || exit 5 
    [ -f $NGINX_CONF_FILE ] || exit 6 
    echo -n $"Starting $prog: " 
    daemon $nginx -c $NGINX_CONF_FILE 
    retval=$? 
    echo 
[ $retval -eq 0 ] && touch $lockfile 
    return $retval 
} 
 
stop() { 
    echo -n $"Stopping $prog: " 
    killproc $prog -QUIT 
    retval=$? 
    echo 
[ $retval -eq 0 ] && rm -f $lockfile 
    return $retval 
    killall -9 nginx 
} 
 
restart() { 
    configtest || return $? 
    stop 
    sleep 1 
    start 
} 
 
reload() { 
    configtest || return $? 
    echo -n $"Reloading $prog: " 
    killproc $nginx -HUP 
    RETVAL=$? 
    echo 
} 
 
force_reload() { 
    restart 
} 
 
configtest() { 
    $nginx -t -c $NGINX_CONF_FILE 
} 
 
rh_status() { 
    status $prog 
} 
 
rh_status_q() { 
    rh_status >/dev/null 2>&1 
} 
 
case "$1" in 
    start) 
        rh_status_q && exit 0 
        $1 
    ;; 
    stop) 
        rh_status_q || exit 0 
        $1 
    ;; 
    restart|configtest) 
        $1 
    ;; 
    reload) 
        rh_status_q || exit 7 
        $1 
    ;; 
    force-reload) 
        force_reload 
    ;; 
    status) 
        rh_status 
    ;; 
    condrestart|try-restart) 
        rh_status_q || exit 0 
    ;; 
    *) 
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
        exit 2 
esac 

②修改脚本权限,命令:chmod 755 nginx
③将脚本文件加入到chkconfig中,命令:chkconfig --add nginx
④设置nginx开机在3和5级别自动启动,命令:chkconfig --level 35 nginx on
⑤测试nginx脚本文件是否能够正常使用,命令如下:
1)/etc/init.d/nginx restart
2)/etc/init.d/nginx reload
3)/etc/init.d/nginx stop

七、创建个人网站

1、简单配置Nginx(修改nginx.conf)

1)cd /usr/local/nginx/conf
2)vim nginx.conf //在nginx.conf文件中,可以修改网页文件路径、端口号、网站主界面等。
3)cd /usr/local/nginx/sbin
4)./nginx

或使用Xftp软件利用视图的方式修改,修改后要重启Nginx:
在这里插入图片描述

2、开启外网访问

开放端口,让外部环境可以访问。如果不开放端口,外部环境访问不了。

启动Nginx时,如果显示:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use),则说明端口80被占用( Nginx默认端口为80)。此时需要检查一下80端口被什么占用,命令:fuser -n tcp 80。杀死对应的进程,命令:kill -9 对应的PID
在这里插入图片描述
重新启动nginx,命令:cd /usr/local/nginx/sbin./nginx

注:端口冲突时,也可以在配置文件nginx.conf中修改端口号。

八、参考

1、Linux(Centos)之安装Nginx及注意事项
https://www.cnblogs.com/hanyinglong/p/5102141.html#_label0

2、在linux服务器上安装xshell、xftp、nginx,部署前端打包的dist项目
https://www.it610.com/article/1279291702787457024.htm

3、Nginx Linux详细安装部署教程
https://www.cnblogs.com/taiyonghai/p/6728707.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS下搭建Nginx服务器 的相关文章

随机推荐

  • 修改 WSL2 可用内存大小和交换分区大小

    WSL2默认可以使用的内存大小为主机的80 对于Linux而言即使装了桌面 一般的开发也没必要给这么多内存 分多了 反而有可能卡主机的Windows 操作 1 打开Windows资源管理器 地址栏输入 UserProfile 回车 在该目录
  • C++代码: Linux下获取基本设备信息

    测试环境 基于C 43 43 20构建测试 g 43 43 10 2 1 CMakeLists txt 设置用于构建该项目的最低cmake版本 cmake minimum required VERSION 3 1 设置项目名称和编程语言 p
  • VMware虚拟机Ubuntu无法使用摄像头的问题

    注 之前我在使用Ubuntu的虚拟机中 搞OpenCV开发 需要使用摄像头 遇到了摄像头无法使用的问题 后面折腾了很久才发现 USB3 1 兼容设置的问题 刚才又用新的虚拟机配置环境 又遇到了之前的问题 因此做个记录 1 摄像头未连接到虚拟
  • 一文搞懂光纤的方方面面

    光纤 一直以为光纤模块会非常贵 xff0c 呃 xff0c 只能说没有想象中的贵 xff0c 相比网线还是贵上不少 一个常见的光纤系统通常会包括收发器 xff0c 光电转换器还有光纤收发器 通常简单的入门级一套下来可能也在200 300左右
  • msys2配置cmake构建环境

    注 本人主要在Linux下搞开发 使用msys2是为了方便移植部分程序到Windows下 做以下纪录方便环境配置 1 换源 span class token comment 更新本地软件数据库 span pacman Sy 2 安装开发工具
  • Windows 10安装 WSL2 (Ubuntu 20.04)

    条件 对于 x64 系统 xff1a 版本 1903 或更高版本 xff0c 采用 内部版本 18362 或更高版本 对于 ARM64 系统 xff1a 版本 2004 或更高版本 xff0c 采用 内部版本 19041 或更高版本 低于
  • Ubuntu 20.04 server 切换中文语言

    1 安装区域设置 locales Ubuntu 一般是预装了的 Kali Linux 和 Debian可能没有 就需要安装 更新索引 sudo apt update span class token comment 安装locales sp
  • 全新安装的Termux配置Ubuntu环境

    基于 Termux 0 101 测试 换国内源 默认官方源在国外速度慢 有梯子的话也可以不换 这里换清华源为例 更多 执行命令 span class token function sed span i span class token st
  • 1g 路由器使用

    前言 xff08 1 xff09 首次使用以及断网后配置都可参看本文 xff08 2 xff09 简谈 xff0c 创翼实际登录拨号的账号其实并不是 电话 64 cqit xff0c 而是在这个账号前面根据拨号时间生成一个随机字符串 xff
  • 基于随机森林的手写数字识别 (OpenCV)

    OpenCV 4 5 1 C 43 43 20 Ubuntu 20 04 素材 来源 基于 K近邻博文 中原5000个手写数字得到的按行排列的手写数字数据以及对应行的标签 保存为图片后直接放到这里使用 避免重复数据处理 右键图片另存为 行数
  • 使用支持向量机分类 (OpenCV)

    OpenCV 4 5 1 C 43 43 20 Ubuntu 20 04 素材 像素点和分类标签 组态档 设置用于构建该项目的最低cmake版本 cmake minimum required VERSION 3 1 设置项目名称和编程语言
  • 退出该博客平台声明

    试用c s d n快三个月了 xff0c 最不满的就是审核的问题 1 我自己写的东西因为有误修改了一下再提交就说我的博文已有相似的 xff0c 审核不通过 xff0c 不止一次 2 反而好奇有人抄了我的却发出去了 这应该是最后一次在这里发文
  • CMake Error at CMakeLists.txt:11 (find_package): Found package configuration file: /home/luw

    参考资料 xff1a https www cnblogs com newneul p 8364924 html CMake Error at CMakeLists txt 11 find package Found package conf
  • LPC1768学习笔记

    LPC1768学习笔记 xff1a IAP升级 1 需求 xff1a 通过串口给主机升级 xff0c 主机的通信串口与升级串口相同 2 方法 xff1a 要完成APP与IAP程序的切换判断 xff0c 我们需要一个flag update单独
  • 手把手教你如何实现一个简单的数据加密算法

    0 前言 之前写过一篇关于MD5摘要算法的文章 xff0c 很多老铁说能否出一篇关于加密的文章吗 xff1f C语言实现MD5 xff0c 竟如此简单 xff01 一口君的字典里没有 34 不行 34 这两个字 xff01 必须安排 xff
  • python压缩包安装方式

    下载压缩包 从python官网下载embed package xff08 嵌入式包 xff09 解压并进入到解压目录 xff0c 看到python exe为止 下载pip依赖 下载https bootstrap pypa io get pi
  • setup写在script标签中

    快捷键 vb3s 父组件 xff1a span class token tag span class token tag span class token punctuation lt span template span span cla
  • Ubuntu20.04开启SSH连接filezilla的教程【仅供参考】

    前提 xff1a 本人初学者 xff0c 想用filezilla xff08 去官网下载即可 xff09 实现Ubuntu与windows之间的文件传输 xff0c 没想到在开启SSH时遇到了好多坑 xff0c 最后虽解决了问题 xff0c
  • systemverilog学习 --- DPI和结构体(语法完结)

    DPI systemverilog提供DPI xff08 Direct Programming Interface xff09 xff0c 这是一个直接编程接口 xff0c 可以使得SV和其它的外部语言进行交互 xff0c 外部的语言包括C
  • CentOS下搭建Nginx服务器

    目录 一 CentOS系统及Nginx服务器的介绍1 CentOS系统2 Nginx服务器 二 Xshell与Xftp1 Xshell与Xftp的作用2 获取Xshell与Xftp3 Xshell的安装与使用4 Xftp的安装与使用 三 安