• ubuntu 14.04 nginx + mysql + php源码安装


    本文参考了 http://www.tuicool.com/articles/3iUNFnA  并在细节上做了一些补充。使安装过程更加顺畅。

    首先要说的是ubuntu 上操作需要加sudo命令,所以在以下的命令上都要以sudo开始。

    先安装一些依赖资源gcc  g++ openssl  libssl-dev (RedHat、centos才是openssl-devel)

    sudo apt-get install openssl 
    sudo apt-get install libssl-dev
    sudo apt-get install gcc g++

    nginx安装

    nginx源码包: nginx ,密码:bi79

    pcre源码包: pcre ,密码:uvqd

    zlib源码包: zlib ,密码:i6pf

    下载完成后,以我的为例,放入/usr/local/src中,将三个源码包

    tar -zxvf 源码包

    进行解压。

    然后进入nginx的解压目录。

    cd nginx目录

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

    sudo ./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

    sudo make

    sudo make install

    启动nginx

    $/usr/local/nginx/nginx
    #几个常用的nging命令
    $/usr/local/nginx -t    #测试默认为值的配置文件是否ok
    $/usr/local/nginx -c /etc/nginx.conf #指定nginx解析的配置文件
    $/usr/local/nginx -s stop|quit|reload|reopen  #停止或者重启nginx

    mysql安装

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

    mysql安装使用的是cmake,没有的自安装, 

    sudo apt-get install cmake

    安装ncurses-devel,在ubuntu下面是 

    sudo apt-get install libncurses5-dev 

    设置MYSQL用户和用户组

    sudo groupadd mysql
    sudo useradd -r -g mysql mysql

    创建mysql目录

    sudo mkdir -p /usr/local/mysql
    sudo mkdir -p /data/mysqldb

    解压下载的mysql源码

    tar -zxvf 源码包

    进入解压的mysql目录

    cd mysql目录

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

    sudo 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目录所属用户

    cd /usr/local/mysql
    sudo chown -R mysql:mysql .

    修改mysql数据库文件目录所属用户

    cd /usr/local/mysql
    sudo chown -R mysql:mysql .

    创建my.cnf文件

    cp /usr/local/mysql/support-files/my-deault.cnf /etc/my.cnf
    编辑/etc/my.cn,添加下面的配置项
    [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

    将mysql添加到服务

    sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    service mysqld status

    如果上面可以显示MYSQL信息* MySQL is not running则添加服务ok

    初始化mysql数据库

    cd /usr/local/mysql
    sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

    执行完上面的命令,查看/data/mysqldb目录中的内容,如果生成了内容说明初始化成功。

    启动MYSQL

    service mysqld start
    ps aux | grep mysqld

    如果上面的命令之后可以看到mysqld的进程说明启动mysql成功

    修改mysql root用户密码

    cp /usr/local/mysql/bin/mysql /usr/bin/mysql
    cp /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
    mysqladmin -u root password '123456'
    mysql -u root -p
    #输入123456密码

    执行晚上面的命令,如果看到Welcome to the MySQL monitor....说明mysql安装、启动、连接ok。

    注意事项

    由于这里设置了mysql相关目录都是mysql:mysql,所以如果出现问题可以尝试sudo解决,很可能是权限的问题。

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

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

      a. /etc/my.cnf
      
      b. /etc/mysql/my.cnf
      
      c. /usr/local/mysql/my.cnf
      
      d. ~/my.cnf

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

    php安装

    php源码包: php-5.6.13.tar.gz

    freetype源码包: freetype ,密码:m5pc

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

    准备工作

    1. freetype安装——生成验证码可能会用到
    tar -xvf freetype-2.4.0.tar.bz2
    cd freetype-2.4.0
    ./configure --prefix=/usr/local/freetype
    make
    make install
    1. 安装curl、png、mcrypt
    sudo apt-get install curl libcurl3 libcurl3-dev
    sudo apt-get install libpng3 libpng3-dev
    sudo apt-get install libmcrypt4 libmcrypt-dev
    sudo apt-get install libxml2-dev

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

    sudo ./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

    sudo make

    sudo make install

    php配置

    1. php.ini管理 看看/usr/local/php/etc下面是否又配置文件,有的话cp一份命名为php.ini,没有的话将源码包里面的php.ini*复制一份过来命名为php.ini
    2. php-fpm.conf管理 php-fpm.conf一般在安装目录的/usr/local/php/etc/php-fpm.conf.default这个位置
    cd /usr/local/php/etc
    cp php-fpm.conf.default php-fpm.conf

    修改php-fpm.conf中的内容,主要是绑定的ip、端口或者unix socket,下面是我的配置,可以适当参考

    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = notice
    daemonize = yes
    rlimit_files = 1024
    user = nobody
    group = nobody
    listen = 127.0.0.1:9000
    pm = dynamic
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3

    启动php-fpm

    $cp /usr/local/php/sbin/php-fpm /usr/bin/php-fpm
    $php-fpm -t     #测试默认配置文件是否ok
    $php-fpm
    $ps aux | grep php-fpm

    如果看到php-fpm的进程说明php-fpm启动成功。 php-fpm的结束

    $kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

    完!!!

  • 相关阅读:
    ftp 传文件完整代码(二)
    生成文件 权限 以及ftp 传数据(一)
    定时任务配置
    发送电子邮件遇到问题
    mysql 主从分离配置
    知道开始时间结束时间 计算这之间一共多少天
    mysql 语句集(二)
    mysql 的sql文件导出导入
    mysql 批量添加 更新
    Spring Boot中如何干掉if else
  • 原文地址:https://www.cnblogs.com/dilei/p/4964232.html
Copyright © 2020-2023  润新知