1、上传nginx文档;解压到/data目录下,并安装依赖包
tar xf nginx-1.20.1.tar.gz -C /data/
cd /data/nginx-1.20.1/ && ll
依赖关系安装,执行如下:
yum -y install zlib pcre pcre-devel openssl openssl-devel

2、自定义安装nginx

./configure --prefix=/data/nginx-1.20.1 --conf-path=/data/nginx-1.20.1/nginx.conf --error-log-path=/data/nginx-1.20.1/logs/error.log --http-log-path=/data/nginx-1.20.1/logs/access.log --with-http_stub_status_module --pid-path=/data/nginx-1.20.1/nginx.pid --without-http_rewrite_module

make && make install

3、启动nginx
(1)常规方式:

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

  

(2)编辑脚本方式:
源码编译安装nginx是没有nginx服务的,对于这种情况的解决方案有:
编辑脚本,如下示例:

vi /root/nginx_lxc
#!/bin/bash if [ "$1" = "start" ]
then
if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
then
:
else
/data/nginx-1.20.1/sbin/nginx -c /data/nginx-1.20.1/nginx.conf
echo "nginx is running..."
fi
elif [ "$1" = "stop" ]
then
if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
then
kill `cat /data/nginx-1.20.1/nginx.pid`
echo "nginx is killed!"
else
echo "Failed to stop nginx Unit nginx not loaded."
exit 1
fi
elif [ "$1" = "restart" ]
then
/data/nginx-1.20.1/sbin/nginx -s reload
echo "nginx is reload"
else
echo "Usage: sh $0 {start|stop|restart}"
fi

保存退出后,授执行权限:
chmod +x /root/nginx_lxc

(3)设置开机启动项方式1:
在linux6.X或centos6.X系统下设置开机启动项,在/etc/init.d目录下添加nginx的自动启动脚本,如下示例:(说明:在linux7.x或centos7.x系统下也可这样设置)

#!/bin/bash
#
# chkconfig: 2345 85 95
# description: Nginx is a World Wide Web server.
# processname: nginx
if [ "$1" = "start" ]
  then
if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
  then
  :
  else
  /data/nginx-1.20.1/sbin/nginx -c /data/nginx-1.20.1/nginx.conf
  echo "nginx is running..."
  fi
  # /data/nginx-1.20.1/sbin/nginx -c /data/nginx-1.20.1/nginx.conf
  # echo "nginx is running..."
elif [ "$1" = "stop" ]
  then
  if [ -f /data/nginx-1.20.1/nginx.pid -a -s /data/nginx-1.20.1/nginx.pid ]
  then
   kill `cat /data/nginx-1.20.1/nginx.pid`
   echo "nginx is killed!"
  else
   echo "Failed to stop nginx Unit nginx not loaded."
   exit 1
  fi
elif [ "$1" = "restart" ]
  then
    /data/nginx-1.20.1/sbin/nginx -s reload
    echo "nginx is reload"
  else
    echo "Usage: sh $0 {start|stop|restart}"
fi 脚本编辑好后,添加执行权限
chmod 775 nginx

  

命令执行:

启动Nginx
service nginx start

停止Nginx
service nginx stop

重启Nginx 
service nginx restart

最后设置开机自启动,执行:

chkconfig --add nginx

chkconfig nginx on

查询是否设置开启自启动成功,执行:
chkconfig --list nginx

(4)设置开机启动项方式2:
在linux7.x或centos7.x系统使用systemctl管理nginx服务。
说明:由于linux7系统没有抛弃chkconfig方式管理服务,这里延续上面示例中设置的启动、停止和重启路径,如未完成之前设置,可改为nginx程序路径下的启动路径。
在/usr/lib/systemd/system目录下,创建nginx.service脚本,如下示例:

[Unit]
Description=Nginx service
After=network.target [Service]
Type=forking
PIDFile=/data/nginx-1.20.1/nginx.pid
ExecStart=/etc/init.d/nginx start
ExecReload=/etc/init.d/nginx restart
ExecStop=/etc/init.d/nginx stop
PrivateTmp=true [Install]
WantedBy=multi-user.target


保存退出
设置开机启动:
systemctl enable nginx.service

  

其他操作
systemctl start nginx
systemctl stop nginx
systemctl status nginx.service
systemctl disable nginx
查看是否已添加开机自启动服务
systemctl list-unit-files |grep nginx

4、nginx服务及端口查看
ss -antlup |grep nginx
ps -ef |grep nginx
lsof -i :80

源码编译安装nginx及设置开机启动项的更多相关文章

  1. CentOS7 源码编译安装Nginx

    源码编译安装nginx     1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...

  2. Centos7通过yum跟源码编译安装Nginx

    源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...

  3. Linux系统 - 源码编译安装Nginx

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  4. Ubuntu 16.04源码编译安装nginx 1.10.0

    一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...

  5. Linux源码编译安装nginx

    ps:一切从简 一.安装所需环境: yum -y install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openss ...

  6. 源码编译安装nginx

    安装依赖软件 1.安装编译工具gcc gcc是一个开源编译器集合,用于处理各种各样的语言:C.C++.Java.Ada等,在linux世界中是最通用的编译器,支持大量处理器:x86.AMD64.Pow ...

  7. centos7 源码编译安装 nginx

    安装步骤 下载 nginx 源码包 官网 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压 nginx 压缩包 $ tar -zxvf n ...

  8. 源码编译安装nginx详细步骤

    1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 下载后通过tar -xvz ...

  9. Centos6.5源码编译安装nginx

    1.安装pcre下载地址:http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz #tar -axvf pcre ...

随机推荐

  1. (opencv01)读入图像

    (opencv01)Opencv之读入图像 读入图像  img = cv2.imread(filepath, flags) filepath : 要读入图片的完整路径 flags : 读入图片的标志 ...

  2. springmvc学习指南 之---第24篇 国际化问题

    writedby 张艳涛,今天一天就搞了一个这个问题,主要是下路,遇到springmvc-config.web的配置和拦截器的使用问题, 看了几天的spring发现都没讲拦截器,之前看了两天sprin ...

  3. 🔥 LeetCode 热题 HOT 100(41-50)

    102. 二叉树的层序遍历 思路:使用队列. /** * Definition for a binary tree node. * public class TreeNode { * int val; ...

  4. vivo 全球商城:优惠券系统架构设计与实践

    一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...

  5. ECDSA高性能硬件实现——算法详解与模块划分

    ECDSA全称椭圆曲线数字签名算法,它是基于素数域的椭圆曲线对信息进行加签与验签.其核心在于对信息的加签,及对加签的信息进行验签,那么下面介绍该算法流程. 假设Alice希望对消息m进行签名,并将消息 ...

  6. Java面向对象06——类与对象小结

    小结  /* 1. 类与对象    类是一个模板:抽象,对象是一个具体的实例 2. 方法    定义.调用 ​ 3. 对应的引用    引用类型: 基本类型(8)    对象是通过引用来操作的:栈-- ...

  7. UE4点选源码分析

    在UE插件开发中,时常会用到场景预览窗口的功能,也经常会有点选场景里的物体而同步改变工具界面的需求,网上教程多为讲解如何打开一个预览界面.在最近的一次需求开发中,我粗读了关卡编辑器和蓝图编辑器的Vie ...

  8. 作为Java开发工程师,如何高效优雅地编写接口文档

    作为一名优秀的Java开发工程师,编写接口文档向来是一件很头疼的事情.本来就被bug纠缠的很累了,你还让我干这? 其实,你可以试试ApiPost. ApiPost的定位是Postman+Swagger ...

  9. 三年Android开发,竟只会增删改查,被面试官一顿怼!

    最近看到某公司面试官发的这样一个帖子: 我面试了一个有三年Android开发经验的小伙子,也是我有史以来给别人面试时间最短的一次,不到十分钟就结束了,原因很简单,底子太差只会curd,很多技术性的问题 ...

  10. .NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2

    系列目录     [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...