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.178linux.com/74806

(0)
N25_随心N25_随心
上一篇 2017-05-15
下一篇 2017-05-15

相关推荐

  • 编译内核——制作最适合自己系统的内核

    编译内核: ·程序包的编译安装:         ./configure ,make ,make install ·前提:开发环境(开发工具、开发库),头文件:/usr/include ·开源:源代码–>可执行格式    &nbsp…

    Linux干货 2016-09-11
  • php5.4zend-opcache安装

    公司在做高并发压测,fastcgi,apc,ocache,opcache, 几经考虑,最终考虑用opcache,因为作为 zend-opcache合并为php5.5的分支版本,xcache的前途堪虑, 在环境的安装上竟然折腾了半个下午没有搞定,这个作下问题记录。 先说安装, http://php.net/manual/zh/opcache.installat…

    2015-04-20
  • centos7上实现corosync V2 + pacemaker + pcs | crmsh备忘录

    1、集群配置的前提: 一、时间同步(ntpdate做crontab定时任务) 二、主机名和IP相互解析 三、基于ssh密钥主机互信 #ssh-keygen -t rsa #ssh-copy-id -i   集群的全生命周期管理工具: pcs: agent(pcsd) crmsh: agentless (pssh)     2、安…

    2017-11-15
  • awk

    GNU awkGNU awk 2 本章内容 awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 awk循环 awk数组 awk函数 调用系统命令 3 awk awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk…

    Linux干货 2016-09-14
  • TCP/IP五层模型

    1、简述osi七层模型和TCP/IP五层模型 网络的七层模型是由OSI和CITT一起制定的开放系统互连参考模型: TCP/IP 五层模型可以分为:应用层,传输层,网络层,数据链路层,物理层。 2、简述ip route家族命令 语法:ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT={link ,addr,rout…

    2018-01-05
  • Linux文件权限及ACL

    1、文件权限:          文件的权限主要针对三类对象进行定义:                owner:属主,u表示  …

    Linux干货 2016-08-05

评论列表(1条)

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

    写的很好,如果可以把参数解释一下的话会更好