ソースコードコンパイルnginxとpythonのインストール


本論文のすべての実験はCentOS 6にある.8環境での検証に成功
yumインストールで問題が発生しました
無効なURL
[root@localhost ~]# yum install vim
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
    Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
Error: Cannot find a valid baseurl for repo: base

[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=extras&infra=stock error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"

1.ライブラリプロファイルにアクセスしてbaseurlを有効なURLに変更する(vi/etc/yum.repo.d/xxx.repo)2.電気通信nameserver 114.114.114.114.
yumコンパイラエラー
[root@www ~]# yum install mysql-server
bash: /usr/bin/yum: /usr/bin/python2.4: bad interpreter: No such file or directory

vi/usr/bin/yumに入ってコンパイラ(最初の行)を#に変更します!/usr/bin/python2.6
マウントされていません
[root@localhost ~]# mount -a
mount: no medium found on /dev/sr0
[root@localhost ~]# mount -t iso9660 /dev/sr0 /media/cdrom

公式倉庫は削除されていません
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# rm -rf /etc/yum.repos.d/*

ソースコードとは?
ソースコードは、コンパイラによってコンパイルされた中間コードまたはその言語コードである.ソースコードリンク先コード
ソースパッケージとは?
ソースパッケージはソースコードの可視パッケージであり、LinuxとBSDシステムに基づくソフトウェアが最も一般的である.
ソースコードは何に使いますか?
ソースコードは説明書に相当し、1つのソフトウェアにソースコードがあれば、どのように開発されたのかを知ることができます.一般的には、その用途は2つあります.ユーザーのニーズに応じてソフトウェアを変更します.2.二次開発;
ソースコンパイルのインストール方法
nginx
依存ツールのインストール:
[root@www ~]#yum install gcc automake pcre-devel openssl-devel zlib-devel

gcc:Cコンパイルツール;Automake:自動コンパイルツール;PCre-devel:正規表現のサポート、必須;Openssl-devel:ssl暗号化zlib-devel:zlibライブラリの応答に対するデータ圧縮をサポートします.-develは一般にソースパケットを表す
ソースパッケージをダウンロードして解凍
[root@www ~]#wget http://nginx.org/download/nginx-1.13.5.tar.gz
[root@www ~]#tar -xf FILE

ほとんどの「ソース」からのソースコードは、いわゆるtarball形式にカプセル化され、その拡張子は.tar.gzまたは.tgz
  • なぜtarballなのか?Open Sourceソフトウェアには、ソースコード、説明ファイル、コンパイルサポートファイル、プロファイルサンプルなど多くのファイルが含まれていることを知っています.このような数のファイルを完全に公開するには、tarで単一のファイルにカプセル化し、gzipで圧縮するのが一般的です.この2つの処理手続きを経たファイルをtarballファイルと呼ぶ.

  • Makefileの生成
    configureはユーザーの個性的な構成のツールです.–構成するオプションを示します.後に続くパラメータは、-prefixインストールパス、ログパスなど、いくつかの構成ファイルのパスを指定できます.http、sslなどのモジュールを起動または無効にすることもできます.configure–helpはオプションを表示できます.
    [root@www nginx-1.12.2]#./configure --prefix=/usr/local/nginx --with-ssl-module --with-pcre --with-zlib
    [root@www nginx-1.12.2]#vim Makefile     
    1 
      2 default:        build
      3 
      4 clean:
      5        rm -rf Makefile objs
      6 
      7 build:
      8        $(MAKE) -f objs/Makefile
      9 
    10 install:
    11        $(MAKE) -f objs/Makefile install
    12 
    13 modules:
    14        $(MAKE) -f objs/Makefile modules
    15 
    16 upgrade:
    17        /usr/local/nginx/sbin/nginx -t
    18 
    19        kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
    20        sleep 1
    21        test -f /usr/local/nginx/logs/nginx.pid.oldbin
    22 
    23        kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
    "Makefile" 23L, 376C                                                                                              23,1-8        All
    

    以上より,makeコンパイルを生成する際にMakefileを用いてソフトウェア機能スイッチを定義し,ソースコード依存ライブラリがそろっているかどうかを確認し,インストール手順などを説明する必要がある.vim obisでソースコードを表示できます
    注:このコマンドは、ディレクトリnginx-1.12.2の次のスクリプトファイルを実行するため、ディレクトリの実行に入る必要があります.実行前にx権限を保証する必要があります.そうしないと、次のエラー・プロンプトが表示されます.bash:./configure: No such file or directory
    makefile定義のコンテンツコンパイルソース生成ファイルのインストール
    [root@www nginx-1.12.2]# make
    ディレクトリ担当者をシステムにインストール
    [root@www nginx-1.12.2]# make install
    環境変数にnginxコマンドを追加
    [root@www nginx-1.12.2]# vim ~/.bashrc 
        export PATH=$PATH:/usr/local/nginx/sbin #        :  ;
    [root@www nginx-1.12.2]# source ~/.bashrc  #       
    [root@www nginx-1.12.2]# echo $PATH
        /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/nginx/sbin  
    #echo  PATH   /usr/local/nginx/sbin  ;

    テスト
  • 実行
  • 手動実行ファイル/usr/local/ngnix/sbin/nginx
  • 直接cmd上でnginx
  • を叩く
  • nginx-s stop
  • を閉じる
  • nginx-s reload再起動注意:再起動するには、必ずオンにする必要があります.そうしないと、次のエラーが発生します[root@www ~]# nginx -s reload nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
  • /usr/local/nginxディレクトリを表示[root@www nginx]# ls conf html logs sbin

  • ソースコードのコンパイル後のソフトウェアはconf、すなわちメインプロファイルが/usr/local/nginx/conf/nginxである.conf;
    Python
    yum install gcc automake pcre-devel openssl-devel zlib-devel
    wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
    tar xf Python-3.5.1
    ./configure --prefix=/usr/local/python #  python         ,   C       ;
    make
    make install 
    vim ~/.bashrc 
        //export PATH=$PATH:/usr/loacl/python/bin # python3.5.1          
    mv /usr/bin/python /usr/bin/python2.6
     ln -s /usr/local/python/bin/python3.5 /usr/bin/python#      python    3.5.1
    python -V #  python    3.5.1  
    vim /usr/bin/yum 
         // #!/usr/bin/python2.6 #           python   yum