source code compile install nginx mariadb php

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

下載最新的PHP原始碼包php-xx.xx.tar.gz

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

(–prefix=path)表示安裝的目錄:比如 /opt/php

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

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

目前(–prefix=paht/etc)下應該有四個配置檔案

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

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

配置php-fpm.conf 檔案中的:

pid=(–prefix=path)/var/run/php-fpm.pid

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

;listen = 127.0.0.1:9000 改為

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

相關文章

程式語言 最新文章