source code compile install nginx mariadb php

下載最新的PHP源碼包php-xx.xx.tar.gzphp

cd php-xx.xx
./configure --prefix=path --with-config-file-path=path --enable-fpm
最基本的選項,--prefox 指定安裝的路徑,--enable-fpm 開啓 php-fpm  默認是不會開啓的

(--prefix=path)表示安裝的目錄:好比 /opt/phphtml

cp php.ini.production or php.ini.development to (--prefix=path)/etc 目錄下,rename as php.inimysql

cp php-xx.xx/sapi/fpm/init.d.php-fpm to (--prefix=path)/etc 目錄下linux

目前(--prefix=paht/etc)下應該有四個配置文件nginx

init.d.php-fpm pear.conf php.ini php-fpm.conf

(--prefix=path)目錄下有 var var/log var/run 三目錄sql

配置php-fpm.conf 文件中的:shell

pid=(--prefix=path)/var/run/php-fpm.pid數據庫

error_log=(--prefox=path)/var/log/php-fpm.logubuntu

;listen = 127.0.0.1:9000 改成api

listen = /opt/php/var/run/php-fpm.socket 這種方式不會由於端口問題發生衝突

查看init.d.php-fpm文件丙個配置的項目:

php_fpm_BIN=`(--prefix=path)`/sbin/php-fpm
php_fpm_CONF=`(--prefix=path)`/etc/php-fpm.conf
php_fpm_PID=`(--prefix=path)`/var/run/php-fpm.pid 此處要與 php-fpm.conf 中的 pid 保待一致

安裝 配置nginx

cd nginx-xx.xx
./configure --prefix=path
make && make install

配置 nginx 安裝目錄/etc/nginx.conf

修改以下這部分配置選項

fastcgi_pass 註釋或者冊除原來的配置127.0.0.1:9000

修改成 與 php-fpm.conf中的scoket 相同的項目值

fastcgi_param /scripts 修改爲 $document_root 否則會找不到文件

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
   root           html;
   fastcgi_pass   unix:/opt/php/var/run/php-fpm.socket; #127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   include        fastcgi_params;
   }

安裝配置mariadb

先安裝 cmake sudo apt-get install cmake

給系統增長 user與group

sudo groupadd mysql
sudo useradd -g mysql -s /usr/sbin/nologin mysql

這樣增長的用戶組與用戶名是 mysql:mysql

-s /usr/sbin/nologin

做用是 mysql 這個用戶不能經過shell選程登錄

cd mariadb-5.5.36
cmake . -DCMAKE_INSTALL_PREFIX=/opt/mariadb -DMYSQL_DATADIR=/opt/data/mariadb -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_SSL=system -DBUILD_CONFIG=mysql_release
make && make install

不須要./configure

配置文件的選擇,配置文件support-files目錄下

my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf 四個分別適用於服務器內存不低於 64M、256M、512M、1G 狀況下的參數設置,您能夠根據自身機器的實際狀況,數據庫應用所佔比重,在上述四個文件中提供的參數基礎上對配置文件進行修改

通常選擇 my-large.cnf 比較適中在本身的電腦上。複製到安裝目錄的根目錄並修更名爲 my.cnf

這個複製獲得的配置文件能夠按照以下三種方式使用:

全局:把這個my.cnf文件複製到服務器的/etc目錄,此時文件中所定義的參數將全局有效,即對該服務器上運行的全部MySQL數據庫服務器都有效。

局部:把這個my.cnf文件複製到[INSTALL-DIR]/var/將使該文件只對指定的服務器有效,其中[MYSQL-INSTALL-DIR]表示安裝MySQL的目錄。

用戶:最後,咱們還能夠把該文件的做用範圍侷限到指定的用戶,這隻需把my.cnf文件複製到用戶的根目錄便可。

my.cnf 配置文件可按需求進行配置保持默認也無妨

安裝mariadb自帶的數據庫

sudo scripts/mysql_install_db --user=mysql --datadir=/opt/data/mariadb  --basedir=./

--datadir 是cmake 時指定的數據庫文件存放的目錄

啓動分爲三種
在support-files/mysql.server 這個文件能夠 mysql.server start|stop|restart, 會通過調做bin/mysqld bin/mysqld_safe

bin/mysqld 會調用 bin/mysqld_safe

直接mysqld_safe

各人喜愛設置吧

啓用mariadb

cd 安裝目錄

bin/mysqld_safe & 或者 bin/mysqld_safe --user=mysql &

中止能夠

bin/mysqladmin shutdown 或者 bin/mysqladmin -u root shutdown

命令

bin/mysqladmin -u root password new-password
bin/mysqladmin -u root -h ubuntu-linux password new-password
bin/mysqld_safe --datadir=/opt/data/mariadb --user=mysql
bin/mysql --user=root

本身寫的腳原本控制nginx php-fpm mariadb 啓動,中止

#!/bin/bash

if [ $1 == "start" ];then
    php/sbin/php-fpm
    sudo nginx/sbin/nginx
    sudo mariadb/bin/mysqld_safe &
fi

if [ $1 == "stop" ];then
    sudo mariadb/bin/mysqladmin shutdown
    sudo /opt/nginx/sbin/nginx -s stop
    kill -QUIT `cat /opt/php/var/run/php-fpm.pid`
fi

if [ $1 = "reload" ];then
    sudo /opt/nginx/sbin/nginx -s reload
    kill -USR2 `cat /opt/php/var/run/php-fpm.pid`
fi
相關文章
相關標籤/搜索