nginx + mysql + php安装

引言

完整的搭建一个nginx+php-fpm+mysql的服务器,一直是我向做的,不过一致没有完成过,这次工作需要,终于安装成功了

我列出了我遇到的一些问题,当然可能读者自己尝试的时候还会有些问题,可以贴出来一起讨论讨论。

这里的创建用户组什么的也省略掉了,想看的可以看参考链接里面的内容。

github里面有详细的安装步骤,和用到的大部分软件源码包,下面是github地址

https://github.com/aizuyan/install-php-fpm_nginx_mysql

nginx安装

nginx源码包:nginx,密码:bi79

pcre源码包:pcre,密码:uvqd

zlib源码包:zlib,密码:i6pf

配置里面的--prefix制定了nginx的安装目录,--conf-path制定了nginx配置文件的目录,这里的--with-pcre=后面的目录是pcre的源码包目录,--with-zlib=后面的是zlib源码包的路径。

./configure --prefix=/usr/local --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.36 --with-zlib=../zlib-1.2.8

mysql安装

mysql源码包:mysql,密码:7qyu

mysql安装使用的是cmake,没有的自安装,apt-get install cmake

安装ncurses-devel,在ubuntu下面是apt-get install apt-get install libncurses5-dev

下民命令中的-DCMAKE_INSTALL_PREFIX=后面是mysql的安装目录,-DMYSQL_UNIX_ADDR=后面是监听套接字的路径,默认为/tmp/mysql.sock,-DDEFAULT_CHARSET设置服务器字符集,默认是latin1,-DMYSQL_DATADIR设置mysql数据的存储目录。

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

mysql安装完之后启动服务器可能还会有很多问题,下面列几个可能的问题:

  1. 配置文件的问题,mysql加载配置文件my.cnf的时候有个默认顺序:

    a. /etc/my.cnf

    b. /etc/mysql/my.cnf

    c. /usr/local/mysql/my.cnf

    d. ~/my.cnf

    因此要是出现一些很奇怪的不好解决的问题一定要先看看是不是加载了你想要mysql加载的配置文件。

    下面是我安装的mysql的配置文件参考:

    [mysqld]

    port=3306

    socket=/usr/local/mysql/mysql.sock

    datadir=/data/mysqldb

    character_set_server=utf8

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [mysql]

    socket=/usr/local/mysql/mysql.sock

    [mysqladmin]

    socket=/usr/local/mysql/mysql.sock

php安装

php源码包:php,密码:uip8

freetype源码包:freetype,密码:m5pc

freetype生成验证码的时候会用到(具体的就是imagettftext这个函数)

可能需要安装的:apt-get install curl libcurl3 libcurl3-dev,apt-get install libpng3 libpng3-dev,apt-get install libmcrypt4 libmcrypt-dev

下面的安装配置里面。/usr/local/mysql为你安装mysql的目录。

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem  --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --with-mysql=/usr/local/mysql -with-pdo-mysql=/usr/local/mysql --with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-gd --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl --enable-pdo --with-freetype-dir=/usr/local/freetype
安装phpredis扩展

phpredis源码包:phpredis,密码:dvxe

步骤:

a. $tar -zxvf phpredis-2.2.4.tar.gz

b. $cd phpredis-2.2.4

c. $/usr/local/php/bin/phpize

d. $ ./configure --with-php-config=/usr/local/php/bin/php-config

e. $make && make install

f. $vim /usr/local/php/etc/php.ini,添加下面的内容extension="redis.so"

g. 重启php-fpm或者apache

收尾

  1. sbin/php-fpm -c etc/php.ini -y etc/php-fpm.conf -t这里的php-fpm的-c参数表示要加在配置文件的位置,-y表示要加在php-fpm专用配置文件的位置,也可以使用缺省参数,-t表示测试配置文件是否ok。
  2. mysql安转完了之后要先安装初始数据库scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb--user=后面的是指定运行mysqld的用户,--datadir=后面是mysql数据的目录。
  3. support-files/mysql.server就是mysqld,mysql客户端在bin/mysql这个位置。

参考链接

http://www.cnblogs.com/suihui/archive/2013/04/13/3018557.html

http://blog.csdn.net/wendi_0506/article/details/39478369

www.cnblogs.com/argb/p/3604340.html

nginx + mysql + php相关源码包及安装的更多相关文章

  1. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  2. Linux——【rpm、yun、源码包】安装

    RPM包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松,因为我们不是在图形界面下.所以我们要 ...

  3. Linux学习笔记15—RPM包的安装OR源码包的安装

    RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...

  4. zabbix 3.2.2 server端(源码包)安装部署 (一)【转】

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  5. 源码包的安装、rsync同步、inotify监测

    一.源码包的安装 1.源码包的作用:yum 使用的是rpm包,rpm包安装的不能指定安装位置 源码包可以按需选择/定制,及时修复bug ,适用于各种平台 2.大致过程:源码包——>make gc ...

  6. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...

  7. mysql 5.5源码包安装

    注:由于mysql5.5的源码包安装与mysql之前的版本安装方法不同,故写一篇随笔记录.5.5的版本不再是./configure make make install 这里用到了cmake了,cmak ...

  8. CentOS 7.4 使用源码包编译安装MySQL 5.7.20

    使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...

  9. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

随机推荐

  1. AngularJs中,如何在render完成之后,执行Js脚本

    AngularJs是Google开源的前端JS框架.使用AngularJs, 我们能够容易地.健壮的开发出类似于Gmail一样的单页Web应用.AngularJs这个新兴的MVC前端框架,具有以下特点 ...

  2. ORA-14450: attempt to access a transactional temp table already in use

    在ORACLE数据中修改会话级临时表时,有可能会遇到ORA-14550错误,那么为什么会话级全局临时表会报ORA-14450错误呢,如下所示,我们先从一个小小案例入手: 案例1: SQL> CR ...

  3. 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接(转)

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  4. CSS补充与JavaScript基础

    一.CSS补充 position 1.fiexd 固定在页面的某个位置; 示例将顶部菜单始终固定在页面顶部 position: fixed; 将标签固定在某个位置 right: 0; 距离右边0像素 ...

  5. ELF Format 笔记(十)—— 重定位(relocation)

    ilocker:关注 Android 安全(新手) QQ: 2597294287 重定位就是把符号引用与符号定义链接起来的过程,这也是 android linker 的主要工作之一. 当程序中调用一个 ...

  6. [django]表格的添加与删除实例(可以借鉴参考)

    自己并未采用任何表格插件,参考网上例子,自己编写出来的django网页实例,请各位参考! 首先看图做事,表格布局采用bootstrap,俗话说bootstrap橹多了就会css了,呵呵,下面看图: 上 ...

  7. MMORPG大型游戏设计与开发(服务器 AI 基础接口)

    一个模块都往往需要统一的接口支持,特别是对于非常大型的模块,基础结构的统一性非常重要,它往往决定了其扩展对象的通用性.昨天说了AI的基本概述以及组成,作为与场景模块中核心一样重要的地位,基础部分的设计 ...

  8. HDU3555 Bomb[数位DP]

    Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submi ...

  9. pycharm的使用破解和Anaconda的使用

    1.pycharm的破解: 版本: pycharm 2016.2.3 链接: 下载专业版本   下面是这个版本的注册码: 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTcz ...

  10. 初识Quartz(入门案例)+常用的Cron表达式

    1.Quartz架构图 1.实体层 package cn.happy.entity; //1. public class Plan { //时间 private String date; //任务 p ...