安装discuz
discuz的介绍
discuz是一个论坛,我们每天在多测师官网交作业使用的论坛是同一个系统。
安装discuz需要使用的工具
LNMP :linux+nginx+mysql+php
LAMP:apache
nginx: web服务器
mysql:数据库
php:语言
php-fpm: 进程管理器
php-mysql: php连接数据库的工具
1. 什么是php-fpm
php-fpm(FastCGI Process Manager:FastCGI进程管理器)。在php5.3.3之前,php-fpm对于php来说,是它的一个补丁包,在5.3.3版本后,php-fpm已经集成在php中了。
作用:php-fpm提供更好的php进程管理方式,有效控制内存,进程,平滑重载php配置,控制php-cgi的fastcgi进程。
2. 什么是fastcgi
fastcgi:快速的通用网关接口。
搭建Discuz
需要的东西有 LNMP Cenos6.5 nginx php php-fpm mysql php-mysql
LAMP 是指(linux apache mysql php)
1. yum install php 在线安装PHP
2 检查php已安装成功
php -v (查看当前php版本)
cd
安装nginx注意点
1. wget在线下载nginx 地址:
2. wget http://mirrors.sohu.com/nginx/nginx-1.8.1.tar.gz
注意点:
我们提供了nginx包,所以不需要自己下载,只要拿我们给到的nginx包解压就好了
3. 解压nginx压缩包
tar -zxvf nginx-1.8.1.tar.gz
3.在解压后的目录nginx-1.8.1中执行命令
./configure (作用检查nginx配置文件)
4.如果发现检查配置文件后报pcre zlib错 ,
这是检查nginx配置过程中发现缺少依赖包,直接在线安装缺少的依赖包
执行命令:yum install -y pcre-devel
如果发现检查配置文件后报 zlib 错 ,缺少zlib依赖包
执行命令:yum install -y zlib-devel
安装完缺少的依赖包后再次执行 ./configure
5.执行命令: make (编译)
6.执行命令:make install (编译后安装)
7.确认nginx是否安装成功 cd /usr/local/nginx/sbin
如果sbin下有nginx文件,说明编译安装没问题。
8.netstat -ntlp 80 确认端口有没有被占用
9.启动nginx:
service nginx start 会发现启动失败,因为/etc/init.d下没有nginx启动文件 ,我们需要把 nginx启动文件放到/etc/init.d,在进行授权,给文件执行权限 chmod 755 nginx 或者 chmod +x nginx
10.重新启动:service nginx start
发现启动成功 ,并且使用命令:netstat -ntlp 查看nginx默认端口号为是80
nginx配置文件修改
vim /usr/local/nginx/conf/nginx.conf
共3处修改re
1. 在配置文件第45行 添加index.php
2.在配置文件第65~71行 取消已经注释的这块代码
3.在配置文件69行修改scripts 为$document_root ($fastcgi_script_name前面)
重启 :service nginx restart
3.安装php-fpm注意点
1.安装php-fpm 执行命令:yum install php-fpm
2.修改php-fpm配置文件
执行命令:vim /etc/php-fpm.d/www.conf
修改php-fpm 用户和用户组为nginx(39到41行之间)
3. 需要自己新建nginx用户
useradd nginx
4启动php-fpm
执行命令:service php-fpm start
发现启动失败,原因是没有“nginx”用户(重启失败报没有找到uid nginx)
mysql安装(数据库可用现有的数据库)
如果没有,可以进行步骤操作,有的话忽略
4.安装mysql注意点
1.rpm -qa |grep mysql 查看已经安装的mysql
2.删除所有mysql
3.yum install -y mysql mysql-server mysql-devel 在线安装
4.service mysqld start 重启服务
5.mysql -uroot -p 回车进入mysql
6.set password=password("123456");
:
5.安装php-mysql
执行命令:yum install php-mysql
6. 安装Discuz注意点
我们已经有了discuz的安装包,所以可以直接使用,如果没有这个安装包,可以在线下载
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip
1. cd /usr/local/nginx/html
2. 把discuz包丢到这个html目录下,进行解压
unzip discuz包名
2.mv upload bbs (重命名)
chown -R nginx.nginx bbs (给bbs目录赋nginx用户,nginx用户组权限)
discuz安装
安装discuz之前,先进行以下操作。
1 service iptables stop 关闭防火墙
2 service nginx restart 重启nginx服务
3 service mysqld restart 重启mysqld服务
4 service php-fpm restart 重启php-fpm 服务
通过浏览器访问 你的discuz论坛地址
Ip地址/bbs/install
安装过程中输入一些数据,如下
1.选择同意安装
2.如果全部是绿色勾勾,下一步
当前状态如果都是显示如下,说明是存在问题的
如果发现目录不存在,或者文件不可执行
那么需要在/etc/selinux/目录下修改config文件。
把#SELINUX=enforcing 修改为 SELINUX=disabled,保存。
重启linux系统,重启nginx 重启php-fpm 重启mysqld,
关闭防火墙。再次浏览器访问 你的ip地址/bbs/install 显示如下
3.全新安装
4.数据库名:bbs
5.数据库用户名:root
6.数据库密码:123456
7.管理员密码:123456
8.重复管理员密码:123456
9. 安装成功,显示如下
注意点:
如果是提示提示没有权限,说明bbs目录子文件没有赋nginx用户,用户组成功
如果是提示mysql不能连接,可以通过尝试重启nginx,php-fpm,mysql.
启动nginx失败的原因
1.service nginx start 失败,/etc/init.d下没有nginx启动文件 ,rz window下 nginx启动文件
2.重启service nginx start
问题收集:
问题1:
解决方案:yum -y install gcc gcc-c++ autoconf automake make
问题2:
配置69行出错
解决方案
问题3:
配置文件,配置错了
问题4:
原因 : 这个是nginx重启时经常遇到的,这个是nginx重复重启导致自己占用了端口。(一般可能是因为自己设置了开机自动启动,或者重复启动)
解决方法 : killall -9 nginx 杀掉nginx 的进程
然后重启(service nginx restart)
cat /var/log/mysqld.log 查看日志
修改函数:如何修改大小写格式
1、参数含义:
lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
问题5:
解决方案:
改完然后重启centos