net25 第16周作業

1、源碼編譯安裝LNMP架構環境;

yum groupinstall -y ‘Development Tools’ ‘Server Platform Development’

  • 編譯nginx
~]# yum install -y openssl-devel pcre-devel
~]# useradd nginx
~]# ./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--user=nginx \
--group=nginx
~]# make && make install
  • 編譯mariadb
(1) cmake-2.8.8
./configure && make && make install
(2) mariadb
useradd mysql
cmake . -LH  預編譯下
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFIGDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

初始化數據
./mysql_db_install --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql

加載庫和頭文件
vim /etc/ld.so.conf.d/mariadb.conf
ldconfig
ln -s /usr/local/mariadb/include /usr/include/mysql
  • 編譯php
3、php-7.1.3
useradd www

./configure --prefix=/usr/local/php \
--sysconfdir=/usr/local/php/etc \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql=/usr/local/mariadb \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

make && make install

2、編寫一個腳本完成以下功能:

  • (1)、一鍵搭建LNMP源碼編譯環境;
  • (2)、可通過在腳本后面跟上一些參數來自定義安裝目錄等其他選項
#!/bin/bash

#install pre packages
yum groupinstall -y 'Development Tools' 'Server Platform Development' openssl-devel pcre-devel

echo "Usage: $0 [nginx_install] [mariadb_install] [php_install]"

nginx_install=${1:-/usr/local/nginx}
mariadb_install=${2:-/usr/local/mariadb}
php_install=${3:-/usr/local/php}

#install nginx
useradd nginx

tar xf nginx.tar.gz
cd nginx
./configure --prefix=${nginx_install} \
--with-http_stub_status_module \
--with-http_ssl_module \
--user=nginx \
--group=nginx
make && make install

cd $nginx_install/sbin
./nginx

#install mariadb
useradd mariadb
tar xf cmake.tar.gz
cd cmake
./configure && make && make install

tar ../mariadb.tar.gz
cd ../mariadb
cmake . -LH
cmake .
-DCMAKE_INSTALL_PREFIX=${mariadb_install} \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFIGDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

cd $mariadb_install/scripts
./mysql_db_install --basedir=/usr/local/mysql --datadir=/data/mysql --user=mariadb
echo $mariadb_install > /etc/ld.so.conf.d/mariadb.conf
ldconfig
ln -s $mariadb_install/include /usr/include/mysql

#install php
useradd www
tar xf php.tar.gz
./configure --prefix=${php_install} \
--sysconfdir=/usr/local/php/etc \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql=${mariadb_install} \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

make && make install

原創文章,作者:N25_隨心,如若轉載,請注明出處:http://www.www58058.com/74806

(0)
N25_隨心N25_隨心
上一篇 2017-05-15 14:52
下一篇 2017-05-15 14:59

相關推薦

  • windows server 2008 r2 每隔一段時間自動關機

    首先來說一下我的狗血經歷:     話說作為一個地鐵汪,每天背著電腦從房山到朝陽那簡直就是能累死我的節奏,所以我跟公司申請我不要用自己的筆記本了(補助我不要了)。最后公司把一臺不用的server 2008r2給我用,12G內存,志強CPU,跑虛擬機杠杠的。 但是噩夢開始了,我發現一個特點,這臺server 2008 r…

    2015-11-26
  • 淺述sed命令

    1、sed工作原理       sed(stream editor)是一種流編輯器,本身也是一個管道命令,可以分析編輯標準輸入(standard input),包括對數據進行替換、刪除、新增、選取特定行等等。運行時以行為單位,每次只處理一行的內容,因此它又被稱為行編輯器。sed還可與正則表達式配合使用,從而簡…

    Linux干貨 2016-08-10
  • 系統基礎之shell腳本編程詳解3(函數)

    shell腳本編程詳解3:    在前兩節我們分別介紹了shell腳本編程的基礎和循環,判斷的知識,今天我們分享腳本的另一種用法,函數. 概論:     函數function是由若干條shell命令組成的語句塊,實現代碼重用和模塊化編程。    它與shell…

    Linux干貨 2016-08-22
  • awk用法一

      gawk程序是Unix中的原始awk程序的GNU版本,它提供了一種編程語言而不只是編輯器命令。在CentOS中awk命令實際上是gawk程序的鏈接文件名。   基本語法:     awk [options] ‘program’ flie1 file2 ……

    Linux干貨 2015-12-24
  • Linux–各種常用表達式整理收集

    文字顏色設置IP地址獲取隨機口令查找替代等

    Linux干貨 2017-12-10
  • N22-第十一周作業

    第十一周作業 1、詳細描述一次加密通訊的過程,結合圖示最佳 (1)為了做到數據的安全,應該同時滿足 保密性 完整性 可用性 (2)假設A,B通信,A是客戶機,B是服務器 a、客戶端向服務器端發送自己支持的加密方式,并且向服務器端請求其CA頒發給的證書 b、服務器選擇共同支持的加密方式并發送自己的證書; c、客戶端收到其證書,并驗證證書,證書必須同時滿足以下條…

    Linux干貨 2016-12-06

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-06-20 10:17

    寫的很好,如果可以把參數解釋一下的話會更好

欧美性久久久久