Linux 部署 nginx(下载、安装、启动)
目录
问题现象
解决方法:
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 命令,如下,已经修改了其中的 nginx 和 NGINX_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(下载、安装、启动)相关推荐
- linux系统Nginx下载安装步骤(含报错解决方法)
linux系统Nginx下载安装步骤(含报错解决方法) 基础步骤 安装过程可能出现的报错及解决方法 执行 ./configure --prefix=/opt/nginx 报错 执行 make inst ...
- linux安装启动php-fpm,linux上nginx的安装启动以及配合php-fpm的使用
nginx的牛逼之处就不用多说了,反正一个字:牛逼! 我很早之前在csdn上也写过一篇在Windows上安装nginx的文章,之前对它也是一知半解,也属于摸着石头过河吧,今天来看一下linux上的安装 ...
- Linux下nginx的安装及部署
Linux下nginx的安装及部署 一. nginx的安装 1. nginx安装需要很多依赖包(并不知道是干神马的,连接好网络,敲命令直接安便是了) 安装GCC 和GCC-C++(若没有安装gcc) ...
- linux 部署Nginx
Nginx - 学相伴 linux 部署Nginx Nginx - 学相伴 公司产品出现瓶颈? 什么是Nginx? Nginx作用? Nginx的安装 windows下安装 linux下安装(方式一) ...
- Linux下Nginx编译安装过程详解
Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...
- linux nginx编译详解,Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备 1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码 代码如下:# ...
- Linux下Nginx编译安装后的开机自启动设置
Linux下Nginx编译安装后的开机自启动设置 一.查看当前Nginx启动状态 二.而配置Nginx相关服务文件 三 .设置nginx命令 四.设置开机启动 五.测试开机启动 一.查看当前Nginx ...
- linux下使用nginx搭建集群,CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群第一步)
CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群) CentOS 7.4(腾讯云) pcre库 zlib库 openssl Nginx服务器 安装gcc g++开发类库 y ...
- nat123端口映射linux,nat123 linux版linux2.8安装启动教程
Nat123客户端Linux版本安装启动教程.推荐使用2.8.x及以上Linux系统环境.适用于Debian/Ubuntu.CentOS/RHEL/fedora/AliyunLinux.SUSE.等l ...
- linux云服务器下载安装zookeeper
linux云服务器下载安装zookeeper 下载 官网下载地址:https://zookeeper.apache.org/releases.html 我选择的是apache-zookeeper-3. ...
最新文章
- Linux C编程--main函数参数解析
- Android中通过Intent调用其他应用的方法
- kotlin自定义View出现 java.lang.ClassNotFoundException
- Android深入探究笔记--手势识别
- JS中的Map和Set实现映射对象
- hdu 2586 (LCA)
- Linux Namespace机制简介
- SQL SERVER 获得当前系统时间
- 用python实现pdf转word_Python实现PDF转Word
- kindle刷机ttl_kindle paper white 2 (kpw) 无限重启救砖方法
- iperf 的下载和使用
- 用H5STEAM实现大华摄像头的WEB开发
- 电脑机械硬盘秒变移动硬盘!
- 使用ApachePOI复制pptx文件模板的幻灯片
- 设计师和程序员必备:全世界最著名的 icon 网站都在这了
- C语言运算符的优先级和结合
- 圆周率一千万亿位_圆周率被算到31.4万亿位,它的终点是宇宙奇点?爱因斯坦说对了?...
- python正则匹配特殊字符_python 正则表达式特殊字符
- 1.H3CNE-计算机网络概述
- 如何将 Gamma 分布拟合到 R 中的数据集