65yth 发表于 2014-5-21 09:00:55

CentOS 6.4编译安装LNMP+Discuz

首先安装编译工具以及所用的库文件
          yum -y install make cmake vim apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel   gdkernel keyutilspatchperl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch freetype-devel
一、编译安装pcre
      下载二进制源码包、解压、配置、编译安装
      ./configure --prefix=/usr/local/pcre   &&   make   && make install
二、编译安装Nginx
      1、创建运行Nginx的用户和组
            useradd -M -s /sbin/nologin nginx
       2、解压源码包、配置、安装
            ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=nginx --group=nginx --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/src/pcre-8.33--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log
          --with-pcre=/usr/src/pcre-8.33 是源码包解压的路径
       3、make&&   make install
       4、编写启动Nginx服务的脚本(脚本位置:http://url.cn/R3mjpI)
         把下载的脚本文件放到/etc/rc.d/init.d/目录下即可
         chmod a+x /etc/rc.d/init.d/nginxd       赋予文件执行的权限
       5、设置开机启动
             chkconfig nginxd on
      6、启动Nginx
             service nginxd restart
三、编译安装MySQL
      1、创建运行MYSQL的用户和组
            useradd -M -s /sbin/nologin mysql
            mkdir -p /data/mysql         创建数据库存放目录
            chown -R mysql.mysql /data/mysql      设置目录权限
      2、解压释放源码包
      3、cd进入解压的源码包位置
            cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql-DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock-DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1-DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci
          4、配置、安装
                make    &&   make install
          5、在解压的源码包位置复制配置文件
               cpsupport-files/my-huge.cnf/etc/my.cnf
         6、编辑配置文件
                vim/etc/my.cnf
                把datadir后面的位置改为/data/mysql
               保存退出
            7、生成系统数据库
               cd进入mysql安装目录   cd/usr/local/mysql
               scripts/mysql_install_db--user=mysql
             8、把mysql加入系统启动
                  cpsupport-files/mysql.server   /etc/rc.d/init.d/mysql
               chmod 755 /etc/init.d/mysql             添加执行权限
                  chkconfigmysql on                        设置开机启动
            9、编辑文件
                  vim/etc/rc.d/init.d/mysql
                  查找”basedir = “和”datadir = “默认为空
                  改为:dasedir =/usr/local/mysql/
                           datadir=/data/mysql/
             10、把mysql服务加入到系统的环境变量中
                     vim   /etc/profile
                  exportPATH=$PATH:/usr/local/mysql/bin
                   保存退出
            11、启动mysql服务
                      service mysql start
               12、修改数据库的初始root密码
                      mysqladmin -u root -p password "123456"
       如果启动MYSQL报错:
                        
            解决办法:cd/usr/local/mysql
                                 chown-R   mysql.mysql.
                                 scripts/mysql_install_db
                      重启mysql      servicemysqlrestart
四、编译安装PHP
      1、解压PHP的二进制源码包
         2、cd进入解压目录
               ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv--with-zlib--enable-xml --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex--enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session--with-curl --with-jpeg-dir --with-freetype-dir      
          3、配置、安装
               make    &&    make install
          4、复制配置文件到安装目录
               cpphp.ini-production   /usr/local/php/etc/php.ini
         5、复制模板为php-fpm配置文件
                cp/usr/local/php/etc/php-fpm.conf.default    /usr/local/php/etc/php-fpm.conf
         6、编辑配置文件
               vim/usr/local/php/etc/php-fpm.conf
                查找以下参数并修改:
               user = nginx               运行的帐号
               group=nginx             运行的组
               ;pid = run/php-fpm.pid       打开这一项,就是取消前面的分号
             7、设置PHP开机启动,拷贝php-fpm到启动目录
                   cp    /usr/src/php-5.5.9/sapi/fpm/init.d.php-fpm    /etc/rc.d/init.d/php-fpm
                   chmod+x/etc/rc.d/init.d/php-fpm
                   chkconfigphp-fpmon
            8、编辑Php.ini配置文件
                  vim   /usr/local/php/etc/php.ini
                  查找disable_functions这一参数,等号后面一般为空,在等号后面添加以下内容:也就是
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
            9、编辑nginx配置文件,使nginx支持php
                   vim/usr/local/nginx/conf/nginx.conf
                  user   nginx   nginx;                  取消分号,修改运行的用户和组
                  查找index,修改为:
                           indexindex.phpindex.htmlindex.htm;             添加index.php
                查找location,取消前面的分号,修改为:                     

                     location ~ \.php$ {   
                        root         html;#此处和server下面root保持一致,默认为html   
                        fastcgi_pass   127.0.0.1:9000;   
                        fastcgi_indexindex.php;   
                        fastcgi_paramSCRIPT_FILENAME   /usr/local/nginx/html$fastcgi_script_name;   
                         include      fastcgi_params;   
               10、重启Nginx
                        service nginx restart
测试PHP是不是可用
       1、编写测试文件
            vim /usr/local/nginx/html/test.php
                  <?php
                        phpinfo ();
                     ?>
         2、在IE中输入nginx的IP地址/test.php,例如我自己的
            192.168.21.191/test.php
            如果能打开PHP页面,说明安装成功
测试PHP和mysql
          1、编写测试文件
               vim/usr/local/nginx/html/mysql.php
                     <?php
                        $link=mysql_connect('localhost','test','');
                        if (!$link) echo "Fail !!!";
                              else echo "Success !!!";
                        mysql_clock();
                         ?>
            2、在IE中输入IP/mysql.php,例如:还是我自己的
               192.168.21.191/mysql.php
                  如果在打开的页面中显示Success!!!,说明安装成功,配置正确
错误解决:
如果PHP连接Nginx成功,但是连接Mysql失败,解决办法:
       1、先进入mysql数据库,执行下面语句
            showvariableslike'socket';
      2、记下‘socket’后面的路径
      3、编辑php.ini配置文件
            vim/usr/local/php/etc/php.ini
             查找mysql.default_socket配置项,默认一般空,把刚查到的路径写入到这一项后面
         4、重启PHP
            servicephp-fpm restart
         5、成功
                  
五、安装Discuz
      1、下载Discuz和UCenter
       2、进入下载目录解压下载的这两个文件
            unzipDiscuz*   -d   discuz
            mvdiscuz/upload   /usr/local/nginx/html/bbs
            unzipUCenter*-ducenter
            mvucenter/upload   /usr/local/nginx/html/ucenter
      3、设置目录及文件的权限,以便nginx能对论坛写入数据
               cd   /usr/local/nginx/html/ucenter
                   chown   -Rdaemon./data
                cd   ../bbs
                   chown-R   daemon   config.inc.php   attachments/   forumdata/uc_client/data/cache/
         4、安装ucenter用户中心程序
               在IE中输入nginx的IP/ucenter/install/index.php
               如果提示short_open_tag的值为OFF,那么改为ON,在下面的配置文件中查找:
                  vim/usr/local/php/etc/php.ini          查找short_open_tag,把后面的OFF改为ON
      5、刷新页面,选择我同意
      6、如果显示当前状态为红X,操作如下:
         chmod-R777/usr/local/nginx/html/ucenter
         重新打开,即可检查通过
      7、输入创始人的密码,下一步,按向导操作,直到完成
      8、在IE中输入IP/bbs/install/index.php
      9、根据向导安装完成

页: [1]
查看完整版本: CentOS 6.4编译安装LNMP+Discuz