1.安装 Nginx 的先决条件

依赖库:GCC, PCRE, zlib, OpenSSL 。

* GCC (Nginx 由 C 语言编写,因此需要在系统上安装一个编译工具) 基本上 Linux 自带,可以通过命令 gcc 查看是否安装,显示 no input files, 即为已安装。

如果为 comand not found ,即未安装。通过

apt-get install gcc

yum install gcc

来安装。

* PCRE库(Nginx 的 Rewrite 模块和 HTTP 模块会使用到 PCRE 正则表达式语法)。通过

apt-get install libpcre3 pibpcre3-dev

yum install pcre pcre-devel

来安装。

* zilb(在 Nginx 的各种模块中需要使用 gzip 压缩)。通过

apt-get install zlib1g zlig1g-dev

yum install lib zlib-devel

来安装。

* OpenSSL (在 Nginx 中,如果服务器提供安全网页则会用到 OpenSSL 库)。通过

apt-get install openssl libssl-dev

yum install openssl openssl-dev 

来安装。

2.通过源码安装 Nginx

在 /home 下新建一个 src 目录并移动到当前目录:

mkdir src && cd src

下载Nginx压缩包文件

wget http://nginx.org/download/nginx-1.14.0.tar.gz

官网地址如下,可以选择自己需要的版本(稳定版,测试版等)

http://nginx.org/en/download.html

解压

tar zxf nginx-1.14.0.tar.gz

移动到解压目录,结构如下

执行安装

./configure

./configure 进行程序验证过程,以便确定系统包含所有必要的组成成分。

make

make 对应用程序进行编译,一个成功的 build 编译应该会出现最后的信息:

make[1]: leaving directory followed by the project source path.

make install

make install 复制编译后的文件(也包括资源文件)到安装目录。

3.启动 Nginx

Nginx 的默认安装目录是 /usr/local/nginx,

通过

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

启动 Nginx。

查看进程是否启动:

ps -ef | grep nginx

4.控制 Nginx 服务

Nginx 属于运行于后台的类型,即作为守护程序。所以启动 Nginx 后屏幕并不会输出任何信息,这代表 Nginx 已经正确运行。我们来把 Nginx添加到系统服务中。

a. 为 Nginx 建立 init 脚本

init 脚本是作为启动服务的脚本,可以通过一些命令来控制一个应用程序的 start、stop 或者其他操作。例如通过 /etc/init.d/httd start 开启 http 服务

/etc/init.d/httpd start

该命令和 service httpd start 是等效的。

我们来为 Nginx 建立 init 脚本,在 /etc/init.d/(在有些系统下,/etc/init.d/ 实际是 /etc/rc.d/init.d/ 的符号链接)下新建一个名为 nginx 的脚本:

vim nginx

写入下列内容:

#! /bin/sh

### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO PATH=/opt/bin:/opt/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/sbin/nginx
NAME=nginx
DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi set -e case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/nginx.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac exit 0

不同系统下内容不一样,可以在 Nginx 官网找到具体内容的写法。

https://www.nginx.com/resources/wiki/start/topics/examples/initscripts/

b. 安装 Nginx 的 init 脚本

通过 chmod 命令来授予该脚本的可执行权限:

chmod +x /etc/init.d/nginx

到此,我们便可以通过 /etc/init.d/nginx start 或 service nginx start 命令来启动服务了。

c. 让 Nginx 的 init 脚本在适当的运行级自动启动

* 基于 Debian 系的发布:

update-rc.d -f nginx defaults

然后重启系统,运行

ps -ef | grep nginx

查看重启后 Nginx 是否自动启动。

* 基于 Red Hat 系的发布:

chkconfig --add nginx

执行上述命令后,便可以检验该服务的运行级别:

chkconfig --list nginx

转自 https://www.cnblogs.com/weixuqin/p/9327838.html

Nginx 安装配置教程的更多相关文章

  1. Nginx安装配置教程

    转自https://www.cnblogs.com/zhouxinfei/p/7862285.html nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是 ...

  2. Nginx安装配置PHP(FastCGI)环境的教程

    这篇是Nginx安装配置PHP(FastCGI)环境的教程.Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用. 一.什么是 FastCGI F ...

  3. nginx安装配置_runoob_阅读笔记_20190917

    Nginx 安装配置_runoob菜鸟教程 Nginx 安装配置 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向 ...

  4. Nginx安装配置(转)

    Nginx 安装配置 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/ ...

  5. Nginx安装配置与HelloWorld

    <深入理解Nginx>阅读与实践(一):Nginx安装配置与HelloWorld 最近在读陶辉的<深入理解Nginx:模块开发与架构解析>,一是想跟着大牛练练阅读和编写开源代码 ...

  6. Nginx 安装 配置 使用

    Nginx 安装 配置 使用 基本的HTTP服务器特性 处理静态文件,索引文件以及自动索引:打开文件描述符缓存(缓存元数据和文件描述符,下一次可以直接从内存找到数据或者文件的位置): 使用缓存加速反向 ...

  7. QT开发环境安装配置教程

    QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...

  8. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

  9. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

随机推荐

  1. Android 音视频深入 八 小视频录制(附源码下载)

    本篇项目地址,求starthttps://github.com/979451341/Audio-and-video-learning-materials/tree/master/%E5%B0%8F%E ...

  2. 将SD卡的音频设置为手机铃声后删除,手机铃声没有恢复到默认的问题

    1. Android7.0,将存储卡中MP3设置为铃声,删除该MP3后,settings中的铃声没有变化,来电铃声也没有变化. 原因:android7.0的新特性 google 默认如此设计,在选择铃 ...

  3. Android : App客户端与后台服务的AIDL通信以及后台服务的JNI接口实现

    一.APP客户端进程与后台服务进程的AIDL通信 AIDL(Android Interface definition language-“接口定义语言”) 是 Android 提供的一种进程间通信 ( ...

  4. python: super原理

    super() 的入门使用 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了,可通过使用 super 来实现,比如: ...

  5. Oracle数据库表解锁语句

    --表解锁select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_m ...

  6. Pycharm中flask框架应用

    flask框架应用实例 get方法 服务器端 server.py 如下 import flask app=flask.Flask(_name_) //启动一个应用程序 @app.rout(" ...

  7. js计算两个日期相差天数

    //两个时间相差天数 兼容firefox chrome var days = function(startDate) { var sdate = new Date(startDate.replace( ...

  8. python脚本 FTP上传学习

    学习了这个博文http://www.cnblogs.com/cacique/archive/2012/08/24/2653686.html,楼主这个文章很适合初学者,所以根据楼主的内容推演了下上传文件 ...

  9. FCC JS基础算法题(10):Falsy Bouncer(过滤数组假值)

    题目描述: 删除数组中的所有假值.在JavaScript中,假值有false.null.0."".undefined 和 NaN. 使用filter方法,过滤掉生成的 Boolea ...

  10. linux中运行.sql文件

    1.linux目录结构 2.假设home下面有a.sql文件 先得use databasename,要不会报错 “No Database Selected” 然后source /home/a.sql ...