资讯专栏INFORMATION COLUMN

source code compile install nginx mariadb php

svtter / 2158人阅读

摘要:配置文件可按需求进行配置保持默认也无妨安装自带的数据库是时指定的数据库文件存放的目录启动分为三种在这个文件可以会经过调作会调用直接各人喜好设置吧启用安装目录或者停止可以或者命令自己写的脚本来控制启动,停止

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20744.html

相关文章

  • source code compile install nginx mariadb php

    摘要:配置文件可按需求进行配置保持默认也无妨安装自带的数据库是时指定的数据库文件存放的目录启动分为三种在这个文件可以会经过调作会调用直接各人喜好设置吧启用安装目录或者停止可以或者命令自己写的脚本来控制启动,停止 下载最新的PHP源码包php-xx.xx.tar.gz cd php-xx.xx ./configure --prefix=path --with-config-file-path...

    vslam 评论0 收藏0
  • Debian9(Stretch) 下编译安装LNMP环境

    摘要:下源码安装一前言之前,我的开发环境是。重新加载权限表将确保所有到目前为止所做的更改将立即生效。然后,和注意,如果是使用二进制包安装了及相应的开发库,不需要指定路径。五参考资料入门教程编译安装编译安装 Debian9下源码安装LNMP 一、前言 之前,我的开发环境是Windows-10+PHP-7.1+Nginx-1.10+MariaDB-10.1。 后面开发需要使用到memcached...

    ideaa 评论0 收藏0
  • Debian9(Stretch) 下编译安装LNMP环境

    摘要:下源码安装一前言之前,我的开发环境是。重新加载权限表将确保所有到目前为止所做的更改将立即生效。然后,和注意,如果是使用二进制包安装了及相应的开发库,不需要指定路径。五参考资料入门教程编译安装编译安装 Debian9下源码安装LNMP 一、前言 之前,我的开发环境是Windows-10+PHP-7.1+Nginx-1.10+MariaDB-10.1。 后面开发需要使用到memcached...

    blastz 评论0 收藏0
  • Debian9(Stretch) 下编译安装LNMP环境

    摘要:下源码安装一前言之前,我的开发环境是。重新加载权限表将确保所有到目前为止所做的更改将立即生效。然后,和注意,如果是使用二进制包安装了及相应的开发库,不需要指定路径。五参考资料入门教程编译安装编译安装 Debian9下源码安装LNMP 一、前言 之前,我的开发环境是Windows-10+PHP-7.1+Nginx-1.10+MariaDB-10.1。 后面开发需要使用到memcached...

    spacewander 评论0 收藏0
  • Debian9(Stretch) 下编译安装LNMP环境

    摘要:下源码安装一前言之前,我的开发环境是。重新加载权限表将确保所有到目前为止所做的更改将立即生效。然后,和注意,如果是使用二进制包安装了及相应的开发库,不需要指定路径。五参考资料入门教程编译安装编译安装 Debian9下源码安装LNMP 一、前言 之前,我的开发环境是Windows-10+PHP-7.1+Nginx-1.10+MariaDB-10.1。 后面开发需要使用到memcached...

    elisa.yang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<