前面我们已经搭建好了LNMP环境:http://msiyuetian.blog.51cto.com/8637744/1688048
下面我们基于LNMP来搭建一个Discuz!论坛
一、安装Discuz!
1、新建目录来存放网页等
[root@tpp ~]# mkdir /data/www
[root@tpp ~]# cd /data/www
[root@tpp www]# wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip //下载最新版本的Discuz!
[root@tpp www]# unzip Discuz_X3.2_SC_GBK.zip //解压
[root@tpp www]# ls
Discuz_X3.2_SC_GBK.zip readme upload utility
2、程序文件会放于upload下,所以全部移到www目录下,并且删除多余的文件。
[root@tpp www]# mv upload/* ./
[root@tpp www]# ls
admin.php connect.php favicon.ico install readme template utility
api cp.php forum.php member.php robots.txt uc_client
api.php crossdomain.xml group.php misc.php search.php uc_server
archiver data home.php plugin.php source upload
config Discuz_X3.2_SC_GBK.zip index.php portal.php static userapp.php
[root@tpp www]# rm -rf readme/ utility/ upload/ Discuz_X3.2_SC_GBK.zip
3、修nginx的主配置文件,虚拟主机单独放于一个文件中
[root@tpp www]# vim /usr/local/nginx/conf/nginx.conf
user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 6000;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 3526;
server_names_hash_max_size 4096;
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "$http_user_agent"';
sendfile on;
tcp_nopush on;
keepalive_timeout 30;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 8 4k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;
client_max_body_size 10m;
client_body_buffer_size 256k;
client_body_temp_path /usr/local/nginx/client_body_temp;
proxy_temp_path /usr/local/nginx/proxy_temp;
fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
fastcgi_intercept_errors on;
tcp_nodelay on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/htm application/xml;
include vhosts/*.conf; //添加该行,并剪切出虚拟主机配置
}
在主配置文件末尾加上include vhosts/*.conf;并且剪切出下面的内容作为虚拟主机的配置文件,单独放于 /usr/local/nginx/conf/vhosts目录下
[root@tpp www]# mkdir /usr/local/nginx/conf/vhosts [root@tpp www]# cd /usr/local/nginx/conf/vhosts [root@tpp vhosts]# vim default.conf //写入下面的内容
server
{
listen 80 default;
server_name localhost;
index index.html index.htm index.php;
root /tmp/1233/;
deny all;
}
[root@tpp vhosts]# mkdir /tmp/1233 //创建空目录
[root@tpp vhosts]# /usr/local/nginx/sbin/nginx -t //检查nginx是否配置错误
[root@tpp vhosts]# /etc/init.d/nginx reload //重新加载nginx
因为vhosts目录下自带了默认的虚拟主机配置文件,访问时候会自动跳转到默认的虚拟主机,为了安全起见我们禁止所有的访问,使其访问我们自己设置的网页。添加default,表示默认主机;路径修改为空目录/tmp/1233/;deny all表示禁止所有访问,会报403错误。
测试下:
[root@tpp vhosts]# curl -x127.0.0.1:80 www.baidu.com
结果如下图所示:
4、新建虚拟主机
如果我们有一个新的网站,则需在/usr/local/nginx/conf/vhosts/目录下新建一个虚拟主机文件
[root@tpp vhosts]# vim test.conf
server
{
listen 80;
server_name www.test.com;
index index.html index.htm index.php;
root /data/www;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
}
重新加载nginx服务
[root@tpp vhosts]# /etc/init.d/nginx reload
5、配置/usr/local/php/etc/php-fpm.conf文件
我们需修改三处
vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/www.sock
user = php-fpm
group = php-fpm
listen.owner = nobody
listen.group = nobody
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
此处的listen要和虚拟主机的fastcgi_pass定义的一样。owner和group 都修改为nobody。
重新加载php服务
service php-fpm restart
6、配置本地hosts文件
找到本机 C:\Windows\System32\drivers\etc下的hosts文件,添加下面内容后保存退出。
192.168.0.109 www.test.com
7、我们在浏览器上输入网址 www.test.com 这时就会跳转到Discuz!安装界面。
同意安装后我们看多好多都是不可写,这时我们就要给他们赋予php-fpm用户权限。
[root@tpp ~]# cd /data/www/
[root@tpp www]# chown -R php-fpm config data uc_client/data uc_server/data
刷新页面后,全都变成绿色的了。下一步就是全新安装。
8、安装数据库
在安装数据库之前,我们还需配置数据库
[root@tpp www]# /usr/local/mysql/bin/mysql
mysql> create database discuz; //创建一个数据库,数据库名为discuz
mysql> grant all on discuz.* to 'test'@'localhost' identified by 'testpassword';
// all:所有的权限,用户:test,密码:testpassword
回原网页,填写数据库名:discuz,数据库用户名:test,数据库密码:testpassword,其他的都默认;管理员admin 密码123456,下一步;安装完成以后,点击最右下角的“您的论坛已完成安装,点此访问”。
如上图所示,论坛搭建成功。
nginx基本的配置可参考:http://msiyuetian.blog.51cto.com/8637744/1692468