码迷,mamicode.com
首页 > 其他好文 > 详细

lnmp环境

时间:2016-05-12 21:56:16      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

一.nginx的编译。

   1. 到官网 找到自己想要的nginx版本

    wget http://nginx.org/download/nginx-1.7.8.tar.gz 然后解压 tar zxvf nginx-1.7.8.tar.gz cd到解压后的nginx, 编译nginx前需要下载pcre库和zlib库,编辑./configure --prefix=/usr/local/nginx 编译过程中可能会遇到重写模块会需要PCRE库

     cd 到下载nginx的目录。wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2  他是bz2结尾的  解压用 tar jxvf pcre-8.37.tar.bz2。(nginx编译中还会需要zlib这个库,我们可以直接用yum安装  yum install zlib)<这里用yum安装这个库,安装过程中,linux提示已经是安装了的。不能安装。我们用yum安装一些库或软件的时候,可能会遇到这个问题。还需要安装对应库的开发包 yum install zlib-devel(某个软件-devel)>

     解压后重新编译nginx   cd到解压后的nginx的目录里  ./configure --prefix=/usr/local/nginx/ \

    --with-pcre=/usr/local/src/pcre-8.37(安装的时候带上pcre库的具体地址)

    2.make && makeinstall  自动安装

    3.cd nginx目录 ./sbin/nginx 启动nginx服务 (./sbin/nginx -s reload 重启nginx)访问服务器的ip查看nginx是否启动成功, (netstat -antlp |grep 80:查看当前80端口是谁在使用)



        服务器中如果Apache  nginx都有,Apache会把nginx所需要的80端口占用。可用 ps aux命令查看进程 然后pkill -9 httpd (这了的数字-9是无论如何都杀死进程)有时nginx服务开启失败也会有防火墙的原因

        service iptables stop/start/restart

        pkill 杀死某个正在运行的进程

配置conf,指向项目路径:

server {

      listen 80;

      server_name www.pmd.space;

      #access_log  logs/demo.phalconplus.access.log  main;

      index index.php index.html index.htm;

      set $root_path ‘/data/think‘;

      root $root_path;

      try_files $uri $uri/ @rewrite;

      location @rewrite {
          rewrite ^/(.*)$ /index.php?_url=/$1 last;
      }

      location ~ \.php {
          fastcgi_pass 127.0.0.1:9000;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      }

      location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
          root $root_path;
      }

      location ~ /\.ht {
          deny all;
      }

   }

新建一个conf文件写入以上内容,include进nginx.conf里面。修改各项配置。运行。





    二.下载php

    wget http://cn2.php.net/distributions/php-5.6.16.tar.gz (这里注意了,我们直接在php官网下载的链接可能是一个跳转脚本链接,在linux下会导致下载的php压缩包打不开)

    编译php之前需要一系列的库文件,yum install libxml2 libxml2-devel bzip2 bzip2-devel gd gd-devel libpng libpng-devel ncurses ncurses-devel libcurl libcurl-devel libmcrypt libmcrypt-devel。

    进入到php目录,

    ./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt=/usr/local/lib/mcrypt \
--enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath \
--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \
--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \
--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \
--with-gd --with-jpeg-dir --with-openssl

(主要说明,安装目录在哪里,需要安装一些什么库)    cd进入到安装好的php目录,把etc下的php-fpm.conf.default 复制一         修改php-fpm.conf,user=nobody,group=nobody。并把php.fpm.conf中的pid=run/php-fpm.conf前面的注释去掉,都修改为www-data,然后新建用户组www-data,用户www-data

          cd 到php解压目录 cp php.ini-production /usr/local/php/lib。

        cd进入到安装目录中的sbin目录,启动php服务

        整合php和nginx,vim nginx/conf/nginx.conf  把匹配.php结尾的代码注释删除掉 ,把nginx收到访问php的地址改为自己php所在地址,更改php文件目录到对应的目录,可以在nginx下的html创建一个index.php 内容: 看是否能输出以及php.ini信息  确定配置是否生效。


        三编译mysql

        msyql5.5之后编译都需要用的到cmake,我们需要先安装, yum -y install cmake ncurses ncurses-devel。

        然后下载mysql,下载mysql的时候,注意版本的选择,一些版本可能会没有Cmakelists.txt文件,会导致编译出错,链接:http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.46.tar.gz

        然后输入命令进行编译,安装目录以及所需的一些配置文件:

        cmake \
        -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DMYSQL_TCP_PORT=3306 \
        -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_SSL=yes

        没报错就 make && make install 。创建用户组和一个用户名 groupadd mysql,useradd mysql 。

        然后改变安装目录下所有文件的用户及组为「mysql] chown -R mysql .  chgrp -R mysql .


        接着初始化数据库并设定安装目录:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql

        然后将目录的所有文件的所属用户改为「root」,接着将目录「data」的所属用户改为「mysql」

        chown root  .     chown -R mysql data

        把mysql安装目录中的配置文件拷贝一份重命名 cp support-files/my-medium.cnf /etc/my.cnf

        接着启动mysql守护进程:mysql   bin/mysqld_safe --user=mysql &。这一步会在mysql目录下产生之前编译设定的run目录文件夹(这一步有可能会出错,我测试的时候[ERROR] /usr/local/mysql/bin/mysqld: Can‘t create/write to file ‘/var/run/mysqld/mysqld.pid‘ (Errcode: 2)是因为自己没创建目录导致找不到,新建一个文件之后,把文件归属用户设置为mysql 。如果产生了run目录,而里面没有mysql.sock文件,我们看看run目录的权限,更改为mysql用户mysql组。重新初始化数据库和开启mysql守护进程)



    ./bin/mysqladmin -u root password ‘123456‘为自己的root用户设置密码。
    连接数据库:./bin/mysql -u root -p 

lnmp环境

标签:

原文地址:http://blog.csdn.net/qq_31648761/article/details/51351336

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!