• <span id="ycodp"></span>
    <span id="ycodp"><small id="ycodp"></small></span>
    1. <label id="ycodp"></label>
      <rt id="ycodp"><tr id="ycodp"><strike id="ycodp"></strike></tr></rt>
      <i id="ycodp"><strong id="ycodp"><ul id="ycodp"></ul></strong></i>
    2. 幫助中心

      這里有最新的使用文檔和教程

      < 返回

      Debian 10.9.x編譯安裝Nginx1.20.x

      2023-04-03 17:21 作者:31IDC 閱讀量:2018 所屬分類:物理服務器

      Debian 10.9.x編譯安裝Nginx1.20.x

       

      Debian 10.9.x編譯安裝Nginx1.20.x

       

      準備篇:

       

      一、配置防火墻,開啟80端口、3306端口

       

      Debian默認沒有安裝任何防火墻的,我們這里推薦使用iptables防火墻。

       

      1.1安裝iptables防火墻

       

      whereis iptables #查看系統是否安裝防火墻

       

      apt-get install iptables #運行此命令安裝防火墻

       

      mkdir /etc/sysconfig #創建防火墻配置文件存放目錄

       

      touch /etc/sysconfig/iptables #創建防火墻配置文件

       

      nano /etc/sysconfig/iptables #編輯添加防火墻規則

       

      # sample configuration for iptables service

       

      # you can edit this manually or use system-config-firewall

       

      # please do not ask us to add additional ports/services to this default configuration

       

      *filter

       

      :INPUT ACCEPT [0:0]

       

      :FORWARD ACCEPT [0:0]

       

      :OUTPUT ACCEPT [0:0]

       

      -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

       

      -A INPUT -p icmp -j ACCEPT

       

      -A INPUT -i lo -j ACCEPT

       

      -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

       

      -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

       

      -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

       

      -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

       

      -A INPUT -j REJECT --reject-with icmp-host-prohibited

       

      -A FORWARD -j REJECT --reject-with icmp-host-prohibited

       

      COMMIT

       

      ctrl+o #保存

       

      ctrl+x #退出

       

      /sbin/iptables-restore < /etc/sysconfig/iptables #使防火墻規則生效

       

      特別注意:

       

      1、修改完防火墻規則文件/etc/sysconfig/iptables后,需要再次執行

       

      /sbin/iptables-restore < /etc/sysconfig/iptables命令,防火墻規則才能生效。

       

      2、系統重啟后,防火墻默認不會開機啟動,需要再次執行/sbin/iptables-restore < /etc/sysconfig/iptables命令,防火墻規則才能生效。

       

      3、如果要臨時關閉防火墻,需要清空/etc/sysconfig/iptables配置文件,再次執行/sbin/iptables-restore < /etc/sysconfig/iptables命令。

       

      4、如果要再次開啟防火墻,需要恢復/etc/sysconfig/iptables配置文件,再次執行/sbin/iptables-restore < /etc/sysconfig/iptables命令。

       

      1.2添加防火墻管理腳本

       

      nano /etc/init.d/iptables #編輯添加腳本

       

      #腳本中的IPTABLES_CONFIG=/etc/sysconfig/iptables是防火墻配置規則文件的路徑。

       

      #!/bin/sh -e

       

      ### BEGIN INIT INFO

       

      # Provides: iptables

       

      # Required-Start: mountvirtfs ifupdown $local_fs

       

      # Default-Start: S

       

      # Default-Stop: 0 6

       

      ### END INIT INFO

       

      # July 9, 2007

       

      # James B. Crocker <ubuntu@james.crocker.name>

       

      # Creative Commons Attribution - Share Alike 3.0 License (BY,SA)

       

      # Script to load/unload/save iptables firewall settings.

       

      PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

       

      IPTABLES=/sbin/iptables

       

      IPTABLES_SAVE=/sbin/iptables-save

       

      IPTABLES_RESTORE=/sbin/iptables-restore

       

      IPTABLES_CONFIG=/etc/sysconfig/iptables

       

      [ -x $IPTABLES ] || exit 0

       

      . /lib/lsb/init-functions

       

      case "$1" in

       

      start)

       

      log_action_begin_msg "Starting firewall"

       

      type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true

       

      if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then

       

      log_action_end_msg $?

       

      else

       

      log_action_end_msg $?

       

      fi

       

      type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true

       

      ;;

       

      stop)

       

      log_action_begin_msg "Saving current firewall configuration"

       

      if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then

       

      log_action_end_msg $?

       

      else

       

      log_action_end_msg $?

       

      fi

       

      log_action_begin_msg "Flushing ALL firewall rules from chains!"

       

      if $IPTABLES -F ; then

       

      log_action_end_msg $?

       

      else

       

      log_action_end_msg $?

       

      fi

       

      log_action_begin_msg "Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]"

       

      if $IPTABLES -X ; then

       

      $IPTABLES -P INPUT ACCEPT

       

      $IPTABLES -P FORWARD ACCEPT

       

      $IPTABLES -P OUTPUT ACCEPT

       

      log_action_end_msg $?

       

      else

       

      log_action_end_msg $?

       

      fi

       

      ;;

       

      save)

       

      log_action_begin_msg "Saving current firewall configuration"

       

      if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then

       

      log_action_end_msg $?

       

      else

       

      log_action_end_msg $?

       

      fi

       

      ;;

       

      force-reload|restart)

       

      log_action_begin_msg "Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]"

       

      $IPTABLES -F

       

      $IPTABLES -X

       

      if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then

       

      log_action_end_msg $?

       

      else

       

      log_action_end_msg $?

       

      fi

       

      ;;

       

      *)

       

      echo "Usage: /etc/init.d/iptables {start|stop|save|restart|force-reload}"

       

      exit 1

       

      ;;

       

      esac

       

      exit 0

       

      ctrl+o #保存

       

      ctrl+x #退出

       

      chmod +x /etc/init.d/iptables #添加執行權限

       

      update-rc.d iptables defaults 99 #添加服務

       

      systemctl start iptables.service #啟動

       

      service iptables stop #停止

       

      #現在就可以使用上面的命令管理防火墻了,啟動、停止

       

      #如果修改了防火墻配置規則,還是需要執行/sbin/iptables-restore < /etc/sysconfig/iptables命令使其生效,然后再使用防火墻管理腳本進行管理

       

      1.3設置防火墻開機啟動

       

      1.3.1使用系統啟動腳本進行設置

       

      cp /lib/systemd/system/rc-local.service /lib/systemd/system/rc-local.service-bak #備份

       

      ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/ #創建軟連接文件

       

      nano /lib/systemd/system/rc-local.service #添加[Install]段到最后

       

      # SPDX-License-Identifier: LGPL-2.1+

       

      #

       

      # This file is part of systemd.

       

      #

       

      # systemd is free software; you can redistribute it and/or modify it

       

      # under the terms of the GNU Lesser General Public License as published by

       

      # the Free Software Foundation; either version 2.1 of the License, or

       

      # (at your option) any later version.

       

      # This unit gets pulled automatically into multi-user.target by

       

      # systemd-rc-local-generator if /etc/rc.local is executable.

       

      [Unit]

       

      Description=/etc/rc.local Compatibility

       

      Documentation=man:systemd-rc-local-generator(8)

       

      ConditionFileIsExecutable=/etc/rc.local

       

      After=network.target

       

      [Service]

       

      Type=forking

       

      ExecStart=/etc/rc.local start

       

      TimeoutSec=0

       

      RemainAfterExit=yes

       

      GuessMainPID=no

       

      [Install]

       

      WantedBy=multi-user.target

       

      Alias=rc-local.service

       

      ctrl+o #保存

       

      ctrl+x #退出

       

      nano /etc/rc.local #創建文件,添加防火墻啟動命令

       

      #!/bin/bash

       

      /sbin/iptables-restore < /etc/sysconfig/iptables

       

      ctrl+o #保存

       

      ctrl+x #退出

       

      chmod +x /etc/rc.local #添加執行權限

       

      #重新啟動系統進行測試,現在防火墻已經開機自啟動了

       

      1.3.2使用sysv-rc-conf服務設置開機啟動

       

      apt-get install sysv-rc-conf #安裝

       

      cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig #拷貝

       

      sysv-rc-conf iptables on #設置開機啟動

       

      chkconfig iptables on

       

      sysv-rc-conf #查看啟動服務

       

      #如果使用apt-get無法直接安裝sysv-rc-conf,則修改apt-get源

       

      cp /etc/apt/sources.list /etc/apt/sources.list-bak #備份

       

      nano /etc/apt/sources.list #編輯添加下面一行代碼

       

      deb http://ftp.de.debian.org/debian sid main

       

      ctrl+o #保存

       

      ctrl+x #退出

       

      apt-get update #更新軟件源索引

       

      #重新啟動系統進行測試,現在防火墻已經開機自啟動了

       

      Debian 10.9.x系統中默認是沒有開啟SELINUX的,無需關閉。

       

      二、系統約定

       

      軟件源代碼包存放位置:/usr/local/src

       

      源碼包編譯安裝位置:/usr/local/軟件名字

       

      三、下載軟件包

       

      1、下載nginx

       

      http://nginx.org/download/nginx-1.20.1.tar.gz

       

      2、下載MySQL

       

      https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.25.tar.gz #下載帶boost的安裝包

       

      http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

       

      #下載解壓版的mysql,編譯php5.2.x需要用到此版本的mysql驅動

       

      #由于mysql-8.0系列已經去掉了對php5.2.x的支持,所以在安裝php5.2的時候我們要用到mysql-5.7的驅動文件

       

      3、下載php

       

      http://mirrors.sohu.com/php/php-8.0.7.tar.gz

       

      http://mirrors.sohu.com/php/php-7.4.20.tar.gz

       

      http://mirrors.sohu.com/php/php-7.3.28.tar.gz

       

      http://mirrors.sohu.com/php/php-7.2.34.tar.gz

       

      http://mirrors.sohu.com/php/php-7.1.33.tar.gz

       

      http://mirrors.sohu.com/php/php-7.0.33.tar.gz

       

      http://mirrors.sohu.com/php/php-5.6.40.tar.gz

       

      http://mirrors.sohu.com/php/php-5.5.38.tar.gz

       

      http://mirrors.sohu.com/php/php-5.4.45.tar.gz

       

      http://mirrors.sohu.com/php/php-5.3.29.tar.gz

       

      http://museum.php.net/php5/php-5.2.17.tar.gz

       

      https://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz

       

      4、下載cmake(MySQL編譯工具)

       

      https://cmake.org/files/v3.20/cmake-3.20.2.tar.gz

       

      5、rpcsvc-proto(編譯MySQL需要)

       

      https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz

       

      6、下載pcre (支持nginx偽靜態)

       

      http://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz

       

      7、下載openssl(nginx擴展)

       

      7.1下載最新穩定版本,適用于nginx擴展https

       

      https://www.openssl.org/source/openssl-1.1.1k.tar.gz

       

      7.2下載舊版本,適用于php5.6.x及其以下版本編譯安裝openssl擴展

       

      https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz

       

      8、下載zlib(nginx擴展)

       

      http://www.zlib.net/zlib-1.2.11.tar.gz

       

      9、下載libmcrypt(php擴展)

       

      https://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

       

      10、下載yasm(php擴展)

       

      http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

       

      11、t1lib(php擴展)

       

      http://download.freenas.org/distfiles/t1lib-5.1.2.tar.gz

       

      12、下載gd庫安裝包

       

      12.1適用于php 5.5.x及其以上版本

       

      https://github.com/libgd/libgd/releases/download/gd-2.3.1/libgd-2.3.1.tar.gz

       

      12.2適用于 php 5.4.x 5.3.x 5.2.x版本

       

      https://jaist.dl.sourceforge.net/project/gd2/gd-2.0.35.tar.gz

       

      13、libvpx(gd庫需要)

       

      https://github.com/webmproject/libvpx/archive/v1.10.0/libvpx-1.10.0.tar.gz

       

      14、tiff(gd庫需要)

       

      http://download.osgeo.org/libtiff/tiff-4.0.7.tar.gz

       

      15、libpng(gd庫需要)

       

      ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.37.tar.gz

       

      16、freetype(gd庫需要)

       

      https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz

       

      17、jpegsrc(gd庫需要)

       

      http://distfiles.macports.org/jpeg/jpegsrc.v9d.tar.gz

       

      18、Boost(編譯mysql需要,要與mysql版本相匹配)

       

      https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.tar.gz

       

      19、libzip(編譯php需要)

       

      https://libzip.org/download/libzip-1.7.3.tar.gz

       

      20、oniguruma(編譯安裝php7.4.x及其以上版本需要)

       

      https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.7.1.tar.gz   -O oniguruma-6.9.7.1.tar.gz

       

      21、curl庫(編譯php需要)

       

      https://curl.se/download/curl-7.77.0.tar.gz

       

      四、安裝編譯工具及庫文件(使用apt-get命令安裝)

       

      apt-get install debian-keyring debian-archive-keyring build-essential gcc g++ make libtool automake autoconf libmcrypt-dev libxml2-dev re2c wget cron bzip2 libzip-dev libc6-dev bison file flex m4 gawk less cpp binutils diffutils unzip tar libbz2-dev libncurses5 libncurses5-dev libevent-dev openssl libssl-dev zlibc libsasl2-dev libltdl3-dev libltdl-dev zlib1g zlib1g-dev libbz2-1.0  libglib2.0-0 libglib2.0-dev libjpeg-dev libpng-dev libkrb5-dev curl libcurl3-gnutls libpcre3-dev libpq-dev libpq5 gettext  libcap-dev ca-certificates libc-client2007e-dev psmisc patch git libc-ares-dev libicu-dev e2fsprogs libxslt1.1 libxslt1-dev libc-client-dev xz-utils libexpat1-dev libaio-dev libtirpc-dev python-dev libsqlite3-dev libonig-dev lsof libxpm-dev libfreetype6-dev    checkinstall zip libfcgi-dev libfcgi0ldbl  libmhash-dev freetds-dev libmariadbclient-dev-compat unixodbc-dev pkg-config libcurl4-openssl-dev

       

      開始安裝Nginx

       

      1、安裝pcre

       

      cd /usr/local/src

       

      mkdir /usr/local/pcre

       

      tar zxvf pcre-8.44.tar.gz

       

      cd pcre-8.44

       

      ./configure --prefix=/usr/local/pcre

       

      make

       

      make install

       

      2、安裝openssl

       

      cd /usr/local/src

       

      mkdir /usr/local/openssl

       

      tar zxvf openssl-1.1.1k.tar.gz

       

      cd openssl-1.1.1k

       

      ./config -fPIC shared zlib --prefix=/usr/local/openssl/ enable-ec_nistp_64_gcc_128

       

      ./config -t

       

      make

       

      make install

       

      ln -s /usr/local/openssl/lib    /usr/local/openssl/lib/x86_64-linux-gnu   #添加軟連接

       

      3、安裝zlib

       

      cd /usr/local/src

       

      mkdir /usr/local/zlib

       

      tar zxvf zlib-1.2.11.tar.gz

       

      cd zlib-1.2.11

       

      ./configure --prefix=/usr/local/zlib

       

      make

       

      make install

       

      4、安裝Nginx

       

      groupadd www

       

      useradd -g www www -s /bin/false

       

      cd /usr/local/src

       

      tar zxvf nginx-1.20.1.tar.gz

       

      cd nginx-1.20.1

       

      ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.1.1k --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.44

       

      注意:--with-openssl=/usr/local/src/openssl-1.1.1k --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.44指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報錯

       

      make #編譯

       

      make install #安裝

       

      /usr/local/nginx/sbin/nginx #啟動Nginx

       

      設置nginx開機啟動

       

      nano /lib/systemd/system/nginx.service #添加以下代碼

       

      [Unit]

       

      Description=The NGINX HTTP and reverse proxy server

       

      After=syslog.target network.target remote-fs.target nss-lookup.target

       

      [Service]

       

      Type=forking

       

      PIDFile=/usr/local/nginx/logs/nginx.pid

       

      ExecStartPre=/usr/local/nginx/sbin/nginx -t

       

      ExecStart=/usr/local/nginx/sbin/nginx

       

      ExecReload=/usr/local/nginx/sbin/nginx -s reload

       

      ExecStop=/bin/kill -s QUIT $MAINPID

       

      ExecStartPost=/bin/sleep 0.1

       

      PrivateTmp=true

       

      [Install]

       

      WantedBy=multi-user.target

       

      ctrl+o #保存配置

       

      ctrl+x #退出

       

      /usr/local/nginx/sbin/nginx -s stop #停止

       

      systemctl enable nginx.service #設置開機自啟動

       

      systemctl start nginx.service #啟動

       

      systemctl stop nginx.service #關閉

       

      systemctl restart nginx.service #重啟

       

      systemctl reload nginx.service #重新加載配置文件

       

      打開瀏覽器,輸入服務器ip地址,看到如下界面,表示Nginx安裝成功

       

      Debian 10.9.x編譯安裝Nginx1.20.x

      31IDC - 12 年深耕海外 IDC 高端資源

      主站蜘蛛池模板: 狠狠色综合网站久久久久久久高清| 亚洲五月激情综合图片区| 浪潮AV色综合久久天堂| 亚洲成AV人综合在线观看| 色综合视频一区二区三区44| 三级韩国一区久久二区综合| 国产成人麻豆亚洲综合无码精品 | 伊人久久久大香线蕉综合直播 | 亚洲国产精品综合久久一线| 综合人妻久久一区二区精品| 伊人久久亚洲综合影院首页| 狠狠亚洲婷婷综合色香五月排名 | 少妇熟女久久综合网色欲| 亚洲AV综合色区无码一二三区| 国产天天综合永久精品日| 亚洲综合久久1区2区3区| 国产一区二区三区亚洲综合| 天天影视色香欲综合免费| 狠狠色综合久久久久尤物| 亚洲精品第一国产综合亚AV| 色天使亚洲综合在线观看| 久久综合五月婷婷| 亚洲精品二区国产综合野狼| 日韩无码系列综合区| 狠狠做深爱婷婷久久综合一区| 色噜噜狠狠色综合网| 久久一本色系列综合色| 九九久久99综合一区二区| 综合久久一区二区三区| 一本色道久久综合亚洲精品| 综合人妻久久一区二区精品 | 99久久综合狠狠综合久久止| 国产尹人香蕉综合在线电影| 婷婷国产天堂久久综合五月| 亚洲国产精品综合久久2007| 99久久综合久中文字幕| 亚洲综合色丁香麻豆| 五月婷婷激情综合| 色婷婷综合缴情综免费观看| 一本大道无香蕉综合在线| 亚洲婷婷五月综合狠狠爱|