下载最新的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