目录

问题现象

解决方法:

1、下载

2、linux系统上安装nginx

2.1、把 下载好的 nginx 的 tar.gz 压缩包 上传到linux服务器:

2.2、 解压:

2.3、安装 nginx 的相关依赖:

注意:

2.4、生成 Makefile 可编译文件

2.5、编译和安装

3、启动nignx

4、使用

5、拓展:

5.1、创建 名为 nginx 的文件

5.2、编辑 nginx 文件,把脚本信息拷贝进去,保存退出


问题现象

Linux 系统如何部署 nginx(下载、安装、启动)?


解决方法:

1、下载

官网下载 nginx 镜像文件:

nginx: download

选择稳定版本 下的镜像文件进行下载,

下载完成:

2、linux系统上安装nginx

2.1、把 下载好的 nginx 的 tar.gz 压缩包 上传到linux服务器:

2.2、 解压:

# 进入 nginx 压缩包所在目录
cd nginx 压缩包所在目录# 解压
tar -zxvf nginx-1.20.2.tar.gz

解压成功:

2.3、安装 nginx 的相关依赖:

# 安装 nginx 的相关依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

出现如下信息,则表示正在安装和安装成功:

注意:

如果不安装依赖,直接解压的话,会出现如下报错:

./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.

2.4、生成 Makefile 可编译文件

# 进入解压后的 nginx-1.20.2 目录
cd nginx-1.20.2 目录# 执行configure脚本,设置安装nginx的初始化配置(--with-http_ssl_module:启动 SSL 的支持),生成 Makefile 可编译文件
./configure --with-http_ssl_module

其他参数:

--prefix=PATH:指定 nginx 的安装目录(默认/usr/local/nginx)
--conf-path=PATH:指定 nginx.conf 配置文件路径
--user=NAME:nginx 工作进程的用户
--with-pcre:开启 PCRE 正则表达式的支持
--with-http_ssl_module:启动 SSL 的支持
--with-http_stub_status_module:用于监控 Nginx 的状态
--with-http-realip_module:允许改变客户端请求头中客户端 IP 地址
--with-file-aio:启用 File AIO
--add-module=PATH:添加第三方外部模块

执行成功:

生成 Makefile 可编译文件:

2.5、编译和安装

编译:

# 编译
make

编译成功:

 安装:

# 安装
make install

安装成功:

红框中的就是默认安装路径(/usr/local/nginx

3、启动nignx

# 进入 nginx 安装目录下的sbin目录
cd nginx 安装目录(默认 /usr/local/nginx/sbin)

可以看到 nginx 脚本:

执行 nginx 脚本,启动 nginx 服务:

# 执行脚本启动 nginx 服务
./nginx

查看 nginx 进程:

查看 nginx 进程:
ps -ef | grep nginx

根据 ./nginx 启动命令,可以得知我们需要的 nginx进程id 是 31049,接着查看该 进程id 所占用的端口号:

# 查看 进程id 所占用的端口号
netstat -nap | grep 进程id

可以看见 nginx 服务默认占用的是 80 端口,接下来是要查看linux 防火墙,如果防火墙是开启状态的话,则需要确认防火墙开放的端口列表中,是否包含 80 端口:

# 查看已开放端口
sudo firewall-cmd --zone=public --list-ports

不出意外是没有的,那就需要我们去开放 80 这个端口:

# 开放 80 端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

开放端口后,还需要重启防火墙才能生效:

sudo firewall-cmd --reload

再次查看防火墙开放的端口列表,发现 80 端口已经开放成功:

4、使用

先用浏览器访问 linux服务器ip浏览器访问 ip 默认是80端口,所以不带 80端口号也可以),查看是否可以正常访问 上面 部署好的 nginx 服务:

至此,可以正常使用了!!!

5、拓展:

到本文章的 第 4 步 为止,nginx服务已经是可以正常使用了,所以以下部分不带有硬性执行要求,只提供给感兴趣的小伙伴。

由于 nginx 的常用命令执行起来比较繁琐,所以官网提供了脚本文件以便简化 nginx 命令,如下,已经修改了其中的 nginxNGINX_CONF_FILE 配置:

# nginx执行文件路径
nginx="/usr/local/nginx/sbin/nginx"

# nginx配置文件路径
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

#!/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 0nginx="/usr/sbin/nginx"
prog=$(basename $nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs() {# make required directoriesuser=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`if [ -n "$user" ]; thenif [ -z "`grep $user /etc/passwd`" ]; thenuseradd -M -s /bin/nologin $userfioptions=`$nginx -V 2>&1 | grep 'configure arguments:'`for opt in $options; doif [ `echo $opt | grep '.*-temp-path'` ]; thenvalue=`echo $opt | cut -d "=" -f 2`if [ ! -d "$value" ]; then# echo "creating" $valuemkdir -p $value && chown -R $user $valuefifidonefi
}start() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6make_dirsecho -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval
}stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval
}restart() {configtest || return $?stopsleep 1start
}reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $prog -HUPretval=$?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" instart)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

将以上脚本信息保存在一个以nginx命名的文件中;并放至linux服务器的 /etc/init.d 目录下即可:

5.1、创建 名为 nginx 的文件

# 进入 /etc/init.d 目录
cd /etc/init.d# 创建 名为 nginx 的文件
touch nginx

5.2、编辑 nginx 文件,把脚本信息拷贝进去,保存退出

# 编辑 nginx 文件,写入脚本信息
vi nginx

给 nginx 脚本文件 赋予执行权限:

# 赋予执行权限
chmod +x nginx

如果不授权,则执行脚本命令时会报错,如:

增加nginx的系统服务,让chkconfig 指令可以管理该服务:

# 增加nginx的系统服务,让chkconfig 指令可以管理该服务
chkconfig --add nginx

执行脚本命令,重启nginx,没有报错了:

浏览器也能正常访问 nginx 首页:

Linux 部署 nginx(下载、安装、启动)相关推荐

  1. linux系统Nginx下载安装步骤(含报错解决方法)

    linux系统Nginx下载安装步骤(含报错解决方法) 基础步骤 安装过程可能出现的报错及解决方法 执行 ./configure --prefix=/opt/nginx 报错 执行 make inst ...

  2. linux安装启动php-fpm,linux上nginx的安装启动以及配合php-fpm的使用

    nginx的牛逼之处就不用多说了,反正一个字:牛逼! 我很早之前在csdn上也写过一篇在Windows上安装nginx的文章,之前对它也是一知半解,也属于摸着石头过河吧,今天来看一下linux上的安装 ...

  3. Linux下nginx的安装及部署

    Linux下nginx的安装及部署 一. nginx的安装 1. nginx安装需要很多依赖包(并不知道是干神马的,连接好网络,敲命令直接安便是了) 安装GCC 和GCC-C++(若没有安装gcc) ...

  4. linux 部署Nginx

    Nginx - 学相伴 linux 部署Nginx Nginx - 学相伴 公司产品出现瓶颈? 什么是Nginx? Nginx作用? Nginx的安装 windows下安装 linux下安装(方式一) ...

  5. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

  6. linux nginx编译详解,Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备 1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码 代码如下:# ...

  7. Linux下Nginx编译安装后的开机自启动设置

    Linux下Nginx编译安装后的开机自启动设置 一.查看当前Nginx启动状态 二.而配置Nginx相关服务文件 三 .设置nginx命令 四.设置开机启动 五.测试开机启动 一.查看当前Nginx ...

  8. linux下使用nginx搭建集群,CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群第一步)

    CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群) CentOS 7.4(腾讯云) pcre库 zlib库 openssl Nginx服务器 安装gcc g++开发类库 y ...

  9. nat123端口映射linux,nat123 linux版linux2.8安装启动教程

    Nat123客户端Linux版本安装启动教程.推荐使用2.8.x及以上Linux系统环境.适用于Debian/Ubuntu.CentOS/RHEL/fedora/AliyunLinux.SUSE.等l ...

  10. linux云服务器下载安装zookeeper

    linux云服务器下载安装zookeeper 下载 官网下载地址:https://zookeeper.apache.org/releases.html 我选择的是apache-zookeeper-3. ...

最新文章

  1. Linux C编程--main函数参数解析
  2. Android中通过Intent调用其他应用的方法
  3. kotlin自定义View出现 java.lang.ClassNotFoundException
  4. Android深入探究笔记--手势识别
  5. JS中的Map和Set实现映射对象
  6. hdu 2586 (LCA)
  7. Linux Namespace机制简介
  8. SQL SERVER 获得当前系统时间
  9. 用python实现pdf转word_Python实现PDF转Word
  10. kindle刷机ttl_kindle paper white 2 (kpw) 无限重启救砖方法
  11. iperf 的下载和使用
  12. 用H5STEAM实现大华摄像头的WEB开发
  13. 电脑机械硬盘秒变移动硬盘!
  14. 使用ApachePOI复制pptx文件模板的幻灯片
  15. 设计师和程序员必备:全世界最著名的 icon 网站都在这了
  16. C语言运算符的优先级和结合
  17. 圆周率一千万亿位_圆周率被算到31.4万亿位,它的终点是宇宙奇点?爱因斯坦说对了?...
  18. python正则匹配特殊字符_python 正则表达式特殊字符
  19. 1.H3CNE-计算机网络概述
  20. 如何将 Gamma 分布拟合到 R 中的数据集

热门文章

  1. SprinBoot集成disConf的过程梳理
  2. Oracle数据库(索引、视图、伪列与伪表)
  3. windows sevrer2012 dns服务器安装配置
  4. int 和 Integer
  5. OpenStack部署及创建云主机实例
  6. 个人认为安卓开发前景
  7. 【WINDOWS / DOS 批处理】for命令详解(八)
  8. 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告
  9. Long和Integer相互转换
  10. Pycharm:注释、删除所有注释