十六周

1、源碼編譯安裝LNMP架構環境;
centos 7系統
編譯安裝nginx
安裝編譯環境
[root@localhost ~]# yum -y groupinstall “Development Tools” “Development Libraries”
[root@localhost ~]# yum -y install pcre-devel
創建nignx的用戶,用于運行nginx的worker進程
[root@localhost ~]# groupadd -r nginx
[root@localhost ~]# useradd -r -g nginx nginx
進入解壓nginx的文件夾
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xf nginx-1.12.1
[root@localhost nginx-1.12.1]# cd /usr/local/src/nginx-1.12.1
編譯安裝nginx
[root@localhost nginx-1.12.1]# ./configure –prefix=/usr/local/nginx –sbin-path=/usr/local/nginx/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/lock/nginx.lock –user=nginx –group=nginx –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –http-client-body-temp-path=/var/tmp/nginx/client –http-proxy-temp-path=/var/tmp/nginx/proxy –http-proxy-temp-path=/var/tmp/nginx/proxy –http-fastcgi-temp-path=/var/tmp/nginx/fcgi –http-uwsgi-temp-path=/var/tmp/nginx/uwcgi –http-scgi-temp-path=/var/tmp/nginx/scgi –with-pcre
[root@localhost nginx-1.12.1]# make && make install
修改配置文件
[root@localhost nginx]# vim /etc/nginx/nginx.conf
? ? ? ? location / {
? ? ? ? ? ? root ? html;
? ? ? ? ? ? index ?index.html index.htm index.php; —新增index.php項
? ? ? ?location ~ \.php$ {–啟用php支持功能
? ? ? ? ? ? root ? ? ? ? ? html;
? ? ? ? ? ? fastcgi_pass ? 127.0.0.1:9000;
? ? ? ? ? ? fastcgi_index ?index.php;
? ? ? ? ? ? fastcgi_param ?SCRIPT_FILENAME ?$document_root$fastcgi_script_name;
? ? ? ? ? ? include ? ? ? ?fastcgi_params;
? ? ? ? }
二進制安裝mysql
[root@localhost nginx]# cd ..
[root@localhost src]# tar xf mariadb-10.1.22-linux-glibc_214-x86_64.tar.gz -C /usr/local/ ?–解壓壓縮包
[root@localhost local]# ln -sv mariadb-10.1.22-linux-glibc_214-x86_64 mysql –鏈接解壓的文件到mysql文件夾下
[root@localhost mysql]# cd /usr/local/mysql/
[root@localhost mysql]# groupadd -r -g 3306 mysql –創建mysql組
[root@localhost mysql]# useradd -r -g mysql -u 3306 mysql –創建mysql用戶
[root@localhost mysql]# mkidr -p /datamysql/mysql –創建mysql的數據目錄
[root@localhost mysql]# chown -R mysql:mysql /datamysql –更改mysql數據目錄屬主屬組
[root@localhost mysql]# chown -R mysql:mysql . –更改解壓出來的mysql文件的屬組屬主,用于初始化數據庫
[root@localhost mysql]# scripts/mysql_install_db –user=mysql –datadir=/datamysql/mysql/ –初始化數據庫
? [root@localhost mysql]# chown -R root . –為了安全性,更改當前目錄的屬主為root
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf –給與mysql數據庫的配置文件
[root@localhost mysql]# echo “datadir=/datamysql/mysql” >> /etc/my.cnf –給與配置文件中data目錄位置
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld –添加mysql的啟動腳本
[root@localhost mysql]#echo “/usr/local/mysql/lib/” >/etc/ld.so.conf.d/mysql.conf –添加mysql的庫文件到系統中
[root@localhost mysql]#echo “MANPATH /usr/local/mysql/man” >> /etc/man.config –輸出mysql的man文檔到系統路徑中
[root@localhost mysql]#echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile –輸出mysql的二進制文件到系統中
[root@localhost mysql]#ln -sv /usr/local/mysql/include/ /usr/local/include/mysql –輸出mysql的庫文件到系統中
[root@localhost mysql]#ldconfig -v –加載并驗證mysql的庫文件是否輸出
安裝php
[root@localhost src]# tar xf php-7.2.2.tar.xz
[root@localhost php-7.2.2]# ?./configure –prefix=/usr/local/php –with-config-file-path=/etc –enable-fpm –with-fpm-user=nginx ?–with-fpm-group=nginx –enable-inline-optimization –disable-debug –disable-rpath –enable-shared ?–enable-soap –with-libxml-dir –with-xmlrpc –with-openssl ?–with-mhash –with-pcre-regex –with-sqlite3 –with-zlib –enable-bcmath –with-iconv –with-bz2 –enable-calendar –with-curl –with-cdb –enable-dom –enable-exif –enable-fileinfo –enable-filter –with-pcre-dir –enable-ftp –with-gd –with-openssl-dir –with-jpeg-dir –with-png-dir –with-zlib-dir ?–with-freetype-dir –enable-gd-jis-conv –with-gettext –with-gmp –with-mhash –enable-json –enable-mbstring –enable-mbregex –enable-mbregex-backtrack –with-libmbfl –with-onig –enable-pdo –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-zlib-dir –with-pdo-sqlite –with-readline –enable-session –enable-shmop –enable-simplexml –enable-sockets -enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –with-libxml-dir –with-xsl –enable-zip –enable-mysqlnd-compression-support –with-pear –enable-opcache
[root@localhost php-7.2.2]# ?make && make install
[root@localhost php-7.2.2]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@localhost php-7.2.2]# cp php.ini-production /etc/php.ini
[root@localhost php-7.2.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
? [root@localhost php-7.2.2]# chmod +x /etc/init.d/php-fpm
[root@localhost php-7.2.2]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@localhost php-7.2.2]# service ?php-fpm start
修改配置文件
2、編寫一個腳本完成以下功能:
? ?(1)、一鍵搭建LNMP源碼編譯環境;
? ?(2)、可通過在腳本后面跟上一些參數來自定義安裝目錄等其他選項。
? #!/bin/bash
#
#
#
/usr/bin/mount /dev/cdrom /media >& /dev/null || echo “Please insert the disc” && exit 1
echo -e ?” Install Development Environment \n Please wait … “
/usr/bin/yum -y groupinstall “Development Tools” “Development Libraries”
/usr/bin/yum ?-y install pcre-devel pcre openssl-devel ncurses-devel cmake pcre-devel libxml2-devel bzip2-devel libcurl-devel libmcrypt-devel
echo “Install NGINX”
NGINX_INSTLL () {
/usr/bin/cd /usr/local/src
/usr/bin/tar -xf /usr/local/src/nginx*.tar.gz .
/usr/bin/cd /usr/local/src/nginx.*/
id nginx >& /dev/null && userdel -r nginx
useradd -r -s /usr/sbin/nologin nginx
/bin/bash configure –prefix=/usr/local/nginx –sbin-path=/usr/local/nginx/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/lock/nginx.lock –user=nginx –group=nginx –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –http-client-body-temp-path=/var/tmp/nginx/client –http-proxy-temp-path=/var/tmp/nginx/proxy –http-proxy-temp-path=/var/tmp/nginx/proxy –http-fastcgi-temp-path=/var/tmp/nginx/fcgi –http-uwsgi-temp-path=/var/tmp/nginx/uwcgi –http-scgi-temp-path=/var/tmp/nginx/scgi –with-pcre
make && make install
?sed ?-n ‘s/index.htm\>/index.htm ?index.php/p’ /etc/nginx/nginx.conf
echo -e ” ? ? ? ?location / { \n
? ? ? ? ? ? root ? html;
? ? ? ? ? ? index ?index.html index.htm index.php; —新增index.php項 \n
? ? ? ?location ~ \.php$ {–啟用php支持功能\n
? ? ? ? ? ? root ? ? ? ? ? html; \n
? ? ? ? ? ? fastcgi_pass ? 127.0.0.1:9000;\n
? ? ? ? ? ? fastcgi_index ?index.php;\n
? ? ? ? ? ? fastcgi_param ?SCRIPT_FILENAME ?$document_root$fastcgi_script_name; \n
? ? ? ? ? ? include ? ? ? ?fastcgi_params; \n
? ? ? ? } \n
” >> /etc/nginx/nginx.conf
}
PHP7_INTALL () {
cd /usr/local/src
tar xf php*.tar.xz
cd /usr/local/src/php*
./configure –prefix=/usr/local/php –with-config-file-path=/etc –enable-fpm –with-fpm-user=nginx ?–with-fpm-group=nginx –enable-inline-optimization –disable-debug –disable-rpath –enable-shared ?–enable-soap –with-libxml-dir –with-xmlrpc –with-openssl ?–with-mhash –with-pcre-regex –with-sqlite3 –with-zlib –enable-bcmath –with-iconv –with-bz2 –enable-calendar –with-curl –with-cdb –enable-dom –enable-exif –enable-fileinfo –enable-filter –with-pcre-dir –enable-ftp –with-gd –with-openssl-dir –with-jpeg-dir –with-png-dir –with-zlib-dir ?–with-freetype-dir –enable-gd-jis-conv –with-gettext –with-gmp –with-mhash –enable-json –enable-mbstring –enable-mbregex –enable-mbregex-backtrack –with-libmbfl –with-onig –enable-pdo –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-zlib-dir –with-pdo-sqlite –with-readline –enable-session –enable-shmop –enable-simplexml –enable-sockets -enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –with-libxml-dir –with-xsl –enable-zip –enable-mysqlnd-compression-support –with-pear –enable-opcache
make && make install
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp php.ini-production /etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
}
MYSQL_INSTLL () {
tar xf /usr/local/srcmariadb-*-linux-glibc_214-x86_64.tar.gz -C /usr/local/ ?–解壓壓縮包
ln -sv /usr/local/mariadb-*-linux-glibc_214-x86_64 /usr/local/mysql –鏈接解壓的文件到mysql文件夾下
cd /usr/local/mysql/
groupadd -r -g 3306 mysql –創建mysql組
useradd -r -g mysql -u 3306 mysql –創建mysql用戶
mkidr -p /datamysql/mysql –創建mysql的數據目錄
chown -R mysql:mysql /datamysql –更改mysql數據目錄屬主屬組
chown -R mysql:mysql . ? –更改解壓出來的mysql文件的屬組屬主,用于初始化數據庫
sh /usr/local/mysql/scripts/mysql_install_db –user=mysql –datadir=/datamysql/mysql/ –初始化數據庫
chown -R root . ? –為了安全性,更改當前目錄的屬主為root
cp /usr/lcoal/mysql/support-files/my-large.cnf /etc/my.cnf –給與mysql數據庫的配置文件
echo “datadir=/datamysql/mysql” >> /etc/my.cnf –給與配置文件中data目錄位置
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld –添加mysql的啟動腳本
echo “/usr/local/mysql/lib/” >/etc/ld.so.conf.d/mysql.conf –添加mysql的庫文件到系統中
echo “MANPATH /usr/local/mysql/man” >> /etc/man.config –輸出mysql的man文檔到系統路徑中
echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile –輸出mysql的二進制文件到系統中
ln -sv /usr/local/mysql/include/ /usr/local/incule
}
?echo INSTALL NGINX…
NGINX_INSTALL
if [ $? -eq ?0 ] ;then
echo ?NGINX install success
else
echo NGINX install fail
fi
PHP7_INSTALL
if [ $? -eq ?0 ] ;then
echo ?PHP7 install success
else
echo PHP7 install fail
fi
MYSQL_INSTALL
if [ $? -eq ?0 ] ;then
echo ?MYSQL install success
else
echo MYSQL install fail
fi

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92884

(0)
胡安慧胡安慧
上一篇 2018-03-25
下一篇 2018-03-26

相關推薦

  • 學習筆記(11)

    學習筆記(11)

    Linux筆記 2018-04-30
  • 第一周作業

    1、描述計算機的組成及其功能。 計算機由運算器,控制器,存儲器,輸入設備和輸出設備五大部分組成。 (1)運算器的功能是用于完成算術運算、邏輯運算。負責計算機執行的所有數學與邏輯功能。 (2)控制器的功能是主要負責對程序所執行的指令進行分析,并協調計算機各部件進行工作計算機的所有 其他部件。 (3)存儲器的功能是用于儲存信息的設備,通常是將信息數字化后再利用電…

    Linux筆記 2018-05-11
  • 權限管理

    權限管理 普通權限 通過劃分為三種人來管理,所有者u,所屬組g,其他人o,所有人a 文件 刪除文件用文件所在文件夾的寫權限來決定 讀寫權限root不受控制,執行受控制 對于目錄沒有執行權限,無法進入目錄,無法查看目錄內文件屬性,無法查看文件內容 執行權限是基礎權限沒有執行讀寫權限無用 程序要運行,所在目錄要有執行權限 普通用戶無法更改文件的所有者,要更改文件…

    Linux筆記 2018-03-31
  • elk

    轉載,供日后回查

    2018-07-31
  • 基于Memcached的session server

    session server:將Tomcat的session信息保存在Memcached中,實現session server 前提: 兩個Tomcat節點,兩個Memcached節點,一個nginx節點;Tomcat需要使用到Memcached-session-manager這個Java類,即上面所說的調用了Memcached提供的API的模塊,以達到Mem…

    Linux筆記 2018-03-31
  • Linux-正則表達式

    REGEXP:Regular Expression 由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能 程序支持:grep,sed,awk,vim, less,nginx,varnish等 分兩類: 基本正則表達式:BRE 擴展正則表達式:ERE grep -E, egrep 正則表達式引擎: 采用不同算法…

    2018-04-08
欧美性久久久久