yum -y install make cmake vim apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl 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
./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
ta/mysql 创建数据库存放目录
chown -R mysql.mysql /da ta/mysql 设置目录权限
2、解压释放源码包
3、cd进入解压的源码包位置
cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/da ta/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、在解压的源码包位置复制配置文件
cp support-files/my-huge.cnf /etc/my.cnf
6、编辑配置文件
vim /etc/my.cnf
把datadir后面的位置改为/da ta/mysql
保存退出
7、生成系统数据库
cd进入mysql安装目录 cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
8、把mysql加入系统启动
cp support-files/mysql.server /etc/rc.d/init.d/mysql
chmod 755 /etc/init.d/mysql 添加执行权限
chkconfig mysql on 设置开机启动
9、编辑文件
vim /etc/rc.d/init.d/mysql
查找”basedir = “和”datadir = “默认为空
改为:dasedir = /usr/local/mysql/
datadir = /da ta/mysql/
10、把mysql服务加入到系统的环境变量中
vim /etc/profile
export PATH=$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 service mysql restart
四、编译安装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、复制配置文件到安装目录
cp php.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
chkconfig php-fpm on
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,修改为:
index index.php index.html index.htm; 添加index.php
查找location,取消前面的分号,修改为:
location ~ \.php$ {
root html;#此处和server下面root保持一致,默认为html
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_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
phpinfo ();
?>
2、在IE中输入nginx的IP地址/test.php,例如我自己的
192.168.21.191/test.php
如果能打开PHP页面,说明安装成功
测试PHP和mysql
1、编写测试文件
vim /usr/local/nginx/html/mysql.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数据库,执行下面语句
show variables like 'socket';
2、记下‘socket’后面的路径
3、编辑php.ini配置文件
vim /usr/local/php/etc/php.ini
查找mysql.default_socket配置项,默认一般空,把刚查到的路径写入到这一项后面
4、重启PHP
service php-fpm restart
5、成功
五、安装Discuz
1、下载Discuz和UCenter
2、进入下载目录解压下载的这两个文件
unzip Discuz* -d discuz
mv discuz/upload /usr/local/nginx/html/bbs
unzip UCenter* -d ucenter
mv ucenter/upload /usr/local/nginx/html/ucenter
3、设置目录及文件的权限,以便nginx能对论坛写入数据
cd /usr/local/nginx/html/ucenter
chown -R daemon ./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 -R 777 /usr/local/nginx/html/ucenter
重新打开,即可检查通过
7、输入创始人的密码,下一步,按向导操作,直到完成
8、在IE中输入IP/bbs/install/index.php
9、根据向导安装完成