hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 180|回复: 0

vps上debian7纯净版安装lnmp+discuz详细教程

[复制链接]

573

主题

756

帖子

1969

积分

大司空

Rank: 5Rank: 5

积分
1969
发表于 2023-9-23 19:27:02 | 显示全部楼层 |阅读模式
想在vps上安装discuz, discuz是php程序,所以最好安装在linux上,而dibian占用的内存最小,最适合小内存的vps,因此本例是在vps上安装了debian7纯净版,为的是节省内存。
1、在vps上安装好debian7纯净版
2、ssh连接debian (参照http://lnmp.org/install.html 安装lnmp环境)
   #cd /
   #wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./debian.sh

在安装过程中,会提示你输入mysql数据库root用户的密码,然后提示是否安装the InnoDB storage engine, (这是mysql数据库的自带的引擎模式,discuz默认数据库引擎用的是MYISAM ,MYISAM是一种简单有效的引擎,适合小论坛,pv30万以下,InnoDB性能更高一点,但需要的资源也更多,在discuzx2.5之前很多discuz使用InnoDB,但是从discuzx2.5之后,post表的主键由pid改成(tid,position)的联合主键,InnoDB就不支持这种形式了,如果discuz还要使用InnoDB,就需要对discuz程序做一些改动才行,详细解释见:http://www.discuz.net/thread-3251930-1-1.html     ,这里选择不安装。

下面选择安装可选模块(对php扩展、优化的模块)
1、如果要安装eaccelerator,这里我们选择安装0.9.5.3版本 ,原因详见http://www.97dst.com/thread-2-1-1.html
    # cd /lnmp1.0-full
    #./eaccelerator.sh
2、如果要安装imagemagick ,(安装后,discuz可以实现缩略图和图片自动加水印)
    # cd /lnmp1.0-full
    #./imageMagick.sh
3、如果要安装memchached
     # cd /lnmp1.0-full
     #./memcached.sh
4、如果要安装xcache
    #cd /lnmp1.0-full
    #./xcache.sh
5、如果要安装ionCube(用来加解密php)
     #cd /lnmp1.0-full
     #./ionCube.sh
   对discuz而言, 用不到ionCube, imageMagick可做选用,eaccelerator、memchached和xcache都是用来对php以及内存进行优化的,三选一即可,discuz官方用的是memcached, 这里我们也选memcached,   这里我们只安装 ./memcached.sh和./imageMagick.sh

下面我们创建mysql数据库:
# mysql -u root -p          enter your password:xxxxxx
          >create database discuz;(装discuz时用得着)
    >exit
在lnmp环境上创建虚拟主机:
#/root/vhost.sh
执行后会出现如下界面:

这里输入要绑定的域名,比如我想添加www.jsjlt.com这个网站,那么直接输入www.jsjlt.com然后回车,如果输入错了,按住Ctrl再按Backspace键删除。紧接会出现如下提示:

这一步提示是否要在www.jsjlt.com这个网站添加更多的域名,如果需要添加更多的域名输入y,如不需要直接输入n。
(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。
在这里我想实现www.jsjlt.com  jsjlt.com  www.it168bbs.com  it168bbs.com 这4个域名都可以访问,因此输入y,然后输入:
输入 jsjlt.com www.it168bbs.com it168bbs.com回车。

接下来是设置网站目录位置,一般情况下不需要设置直接回车即可。
如果你觉得这个目录不合适,可以直接改成合适的目录,例如可以直接写/data/www/jsjlt.com 填写完回车确认。

这里选择是否添加伪静态规则,如不需要伪静态,直接输入 n 回车。如果需要输入 y 回车,再选择伪静态或自定义伪静态,一下为伪静态选择提示:

默认已经有了discuz、wordpress、sablog、emlog、dabr、phpwind、wp2(二级目录wp伪静态)、dedecms、drupal、ecshop、shopex,可直接输入以上名称即可。(注:以上除特殊注明外所有规则均只能用于根目录网站,二级目录网站的无法使用,需修改规则。)如果以上伪静态没有自己需要的可以添加自定义伪静态规则,直接输入一个想要的名字,名字不能和前面这些伪静态的名字及/usr/local/nginx/conf/下的其他文件相同,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。
注:添加完执行/etc/init.d/nginx restart 重启生效。

接下来会提示是否需要启用日志功能,如上图,一般情况下不需要启用日志,直接输入 n 回车。如需启用日志,输入y 回车。
会提示:Type access_log name(Default access log file:www.vpser.net.log):
这里是要求输入要定义的日志文件名字,一般不自定义直接回车即可。
日志文件存放在:/home/wwwlogs/ 下面。
出现:Press any key to start create virtul host... 后,再次回车确认就会自动添加虚拟主机。

然后上传网站程序到 /home/wwwroot/www.jsjlt.com/下, 并修改编辑伪静态文件,例如在上面创建虚拟主机时,伪静态你选择的是discuz,那么就修改文件 /usr/local/nginx/conf/discuz.conf,   discuz后台的nginx配置文件复制上去后提示有语法错误,不知道是什么原因,我用的discuz论坛上网友提供的伪静态规则文件,这个文件和后台的文件看着一样,但是却没提示错误,估计就是一个标点错误,正确的配置文件如下:

rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
if (!-e $request_filename) {        return 404;}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-5-20 23:45 , Processed in 0.073723 second(s), 23 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表