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
下一篇 2017-05-15

相關推薦

  • vsftpd基于mysql存儲認證(centos7)

    (1)首先開發包組和服務器平平臺開發包組 (2)yum安裝需要的依賴包 (3)編譯安裝pam_mysql模塊 (4)配置mysql,并添加mysql中的vsftpd進程用戶,且創建vsftpd數據庫,并將vsftpd數據庫授權給vsftpd用戶,且創建vsftpd.users表,并在表中添加用戶tom (5)創建vsftpd要上傳和下載的URL (6)創建基…

    Linux干貨 2016-10-15
  • 文件權限管理–詳解

    進程安全上下文 進程安全上下文:     進程對文件訪問權限應用模型     進程的屬主與文件的屬主是否相同,如果相同則運行屬主權限     進程的屬主與文件的屬主不相同,對比屬組權限是否相同,相同則應用屬組權限   &…

    Linux干貨 2016-08-04
  • 22期第8周課堂練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。     2、IP地址的分類有哪些?子網掩碼的表示形式及其作用   A類:第一段為網絡號,后三段為主機號            網絡號0 000 0000 – 0 111 1111…

    Linux干貨 2016-10-09
  • Ansible_variable

    Ansible變量        系統自動化讓重復的工作變得更加容易,但是每個系統還是有一些細微的差別,變量就是如何處理系統之間的不同之處。這里將會列出變量的極大部分使用方法。   本文假設:你已經知道如何使用Ansible。知道inventory,facts等概念。   Ans…

    Linux干貨 2015-11-26
  • AWK小記

    gawk – pattern scanning and processing language 基本用法:gawk [options] ‘program’ FILE … program: PATTERN{ACTION STATEMENTS} 語句之間用分號分隔 print, printf 選項: -F:指明輸入…

    2018-01-16
  • 常用進程查看工具

    進程是我們學習Linux中常常接觸的概念,他是程序被運行起來的一種表現形態。 了解進程的工作狀態,管理進程的工作狀態,可以讓我們更清楚的知道,系統正在做什么,整體的進度是怎么樣的。 想要了解進程的工作狀態,我們就需要借助一些常用的工具來查看,想要對進程進行管理,我們也需要工具來實現。下面我們一起來看一看常用的查看進程工具有哪些,這些工具是如何使用的,有什么特…

    2017-05-09

評論列表(1條)

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

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

欧美性久久久久