lnmp安装及blog-bbs部署

LNMP快速安装 1

一、 LNMP快速安装 1

1. LNMP版本 1

2. nginx-1.6.3安装 1

3. 安装mysql-5.5.48 2

4. php-5.5.36安装 3

5. LNMP整合测试 5

二、 安装wordpress程序 5

1. 创建专用数据库及管理用户 5

2. 下载wordpress并设置目录权限 6

3. 访问网站会直接进入wordpress页面 6

4. 为博客程序配置实现URL伪静态 6

5. 数据库中查看blog链接等信息 7

三、 安装bbs论坛 7

1. 创建bbs专用数据库及授权用户 7

2. 配置Nginx 7

3. 配置bbs站点 8

4. 为blog程序配置实现URL伪静态 8

5. blog、bbs上传目录NFS挂载 9

四、 dedeCMS安装 9

1. CMS主站产品介绍 9

2. 安装CMS 9

五、 phpmyadmin安装 10

*LNMP快速安装*

一、 *LNMP快速安装*

1. *LNMP版本*

Ø linux:CentOS release 6.6 (Final)

Ø nginx: nginx-1.6.3

Ø mysql:mysql-5.5.48

Ø php:php-5.5.36

2. \nginx******-1.6.3****安装****

yum install -y pcre-devel
yum install -y openssl-devel
useradd -s /sbin/nologin -M nginx 
ln -s /usr/local/lib/libpcre.so.1 /lib64
mkdir /server/tools -p
cd /server/tools
wget http://nginx.org/download/nginx-1.6.3.tar.gz
tar zxvf nginx-1.6.3.tar.gz
cd nginx-1.6.3
./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
make && make install
cd ..
ln -s /application/nginx-1.6.3 /application/nginx
cd /application/nginx/conf
egrep -v "#|^$" nginx.conf.default >nginx.conf
/application/nginx/sbin/nginx 
ps -ef|grep nginx|egrep -v grep

3. *安装mysql-5.5.48*

安装依赖

yum install ncurses-devel libaio-devel -y
cd /server/tools/
wget https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz
tar zxf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
gmake
gmake install

安装mysql

useradd mysql -s /sbin/nologin -M
cd /server/tools/
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.48.tar.gz
tar zxvf mysql-5.5.48.tar.gz
cd mysql-5.5.48
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.48 \
-DMYSQL_DATADIR=/application/mysql-5.5.48/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.48/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
make && make install
ln -s /application/mysql-5.5.48/ /application/mysql

初始化数据库

cd /server/tools/mysql-5.5.48/support-files/
/bin/cp my-small.cnf /etc/my.cnf 
chown -R mysql.mysql /application/mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
cd /server/tools/mysql-5.5.48/support-files/
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld 
chkconfig --add mysqld
chkconfig mysqld on
/application/mysql/bin/mysqld_safe &
sleep 2
echo 'export PATH="$PATH:/application/mysql/bin/"'>> /etc/profile
source /etc/profile
mysqladmin -u root password '123456'

4. \php-5.5.36******安装****

安装依赖

rpm -aq zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel 
rpm -aq freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel 
yum install zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel -y
yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libtool-ltdl-devel openssl-devel -y
cd /server/tools/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz 
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install -y libmcrypt-devel
yum install mhash mhash-devel -y
yum install -y mcrypt
echo "/usr/local/lib" >>/etc/ld.so.conf
echo "/application/mysql-5.5.48/lib" >>/etc/ld.so.conf
ldconfig
mkdir ext/phar/phar.phar -p

php-5.3.36服务编译安装

cd /srever/tools
wget http://cn2.php.net/distributions/php-5.5.36.tar.gz
tar zxvf php-5.5.36.tar.gz
cd php-5.5.36
./configure \
--prefix=/application/php5.5.36 \
--with-mysql=/application/mysql \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp
make 
make install
ln -s /application/php5.5.36 /application/php
cd /server/tools/php-5.5.36
cp php.ini-production /application/php/lib/php.ini
cd /application/php/etc
cp php-fpm.conf.default php-fpm.conf
/application/php/sbin/php-fpm
ps -ef|grep php-fpm|grep -v grep|wc -l

5. *LNMP整合测试*

测试一:nginx、php整合

mkdir -p /var/html/{blog,bbs,www}

编辑blog的server配置区域中添加如下

    location / {
        root   /var/html/blog;
        index  index.html index.htm;
    }
    location ~ .*\.(php|php5)?$ {
            root   /var/html/blog;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include /application/nginx/conf/fastcgi.conf;
        } 

创建php文件并编辑

vi /var/html/blog/phpinfo.php
<?php
phpinfo();
?>

Ø 测试:http://blog.etiantian.org/phpinfo.php

nginx、php、mysql整合

vi /var/html/blog/test_mysql.php
<?php
        //$link_id=mysql_connect('主机名','用户','密码');
        $link_id=mysql_connect("127.0.0.1","root","123456");
        if(!empty($link_id)){
                echo "mysql successful by liwenbin !";
                }
        else {
                echo mysql_error();
                }
//这是php单行注释
/*这是php多行注释*/
?>

Ø 测试:http://blog.etiantian.org/test_mysql.php

6. *查看lamp各编译参数*

查看nginx编译参数:

/usr/local/nginx/sbin/nginx -V

查看apache编译参数:

cat /usr/local/apache2/build/config.nice

查看mysql编译参数:

cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE

查看php编译参数:

usr/local/php/bin/php -i | grep configure

二、 *安装wordpress程序*

官方网站:cn.wordpress.org

1. *创建专用数据库及管理用户*

mysql -uroot -p
create database wordpress;
show databases;
grant all on wordpress.* to wordpress@'192.168.80.%' identified by '123456';
flush privileges;
select user,host from mysql.user;
quit

7. *下载wordpress并设置目录权限*

cd /application/nginx/html/blog/
wget https://cn.wordpress.org/wordpress-4.4.2-zh_CN.tar.gz
tar zxvf wordpress-4.4.2-zh_CN.tar.gz
mv wordpress/* .
rm -f wordpress-4.4.2-zh_CN.tar.gz
rm -rf wordpress
cd ..
chown -R root.root blog/                   #另外必须授权用户上传目录属主为Nginx运行用户
find ./blog/ -type f|xargs chmod 644
find ./blog/ -type d|xargs chmod 755
chown -R nginx.nginx ./blog/wp-content     #授权用户上传目录属主为Nginx运行用户
index  index.php index.html index.htm;              #在blog server配置文件中设置首页文件

8. *访问网站会直接进入wordpress页面*

http://blog.etiantian.org——》填写您的数据库连接信息——》由于没有权限不能写入wp-config.php配置文件——》 复制生成的配置文件并改名为wp-config.php——》上传到首页文件所在目录——》点击进行安装——》填写用户信息——》安装wordpress——》登录blog

9. *为博客程序配置实现URL伪静态*

Ø 登录blog,在管理站点页面——》设置——》固定链接——》自定义结构——》可以设置链接的URL结构,例如:/archives/%post_id%.html。注:可以访问页面一些可用的标签链接查看更多的表示链接方法。

Ø 在Nginx配置文件的blog server中location /区域添加如下

 server {
        listen       80;
        server_name  blog.etiantian.org;
        location / {
        root   html/blog;
            index  index.php index.html index.htm;
        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
         }
        }
        location ~ .*\.(php|php5)?$ {
             root   html/blog;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
        access_log logs/access_blog.log main;
    }

重启服务即可

10. *数据库中查看blog链接等信息*

mysql -uroot -p123456
use wordpress;
show tables;
show wp_posts\G;
注意:安装完blog后重新授权
drop user wordpress@'192.168.80.%';
grant insert,delete,update,select,drop on wordpress.* to wordpress@'192.168.80.%' identified by '123456';
flush privileges;

三、 *安装bbs论坛*

1. *创建bbs专用数据库及授权用户*

create database bbs;
grant all on bbs.* to bbs@'192.168.80.%' identified by '123456';
flush privileges;
show grants for bbs@'192.168.80.%';
mysql -ubbs -p123456 -h 192.168.80.101              #远程测试
注意:安装完bbs后重新授权
drop user bbs@'192.168.80.%';
grant insert,delete,update,select,drop on bbs.* to bbs@'192.168.80.%' identified by '123456';
flush privileges;

11. *配置Nginx*

配置bbs server

cd /application/nginx/conf/extra/
vi bbs.conf
   server {
        listen       80;
        server_name  bbs.etiantian.org;
        location / {
            root   html/bbs;
            index  index.php index.html index.htm;
        }
        location ~ .*\.(php|php5)?$ {
             root   html/bbs;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
        access_log logs/access_bbs.log main;
}
在Nginx主配置文件添加include
worker_processes  1;
error_log logs/error.log error;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #nginx vhosts config
    include extra/www.conf;
    include extra/bbs.conf;
    include extra/blog.conf;
    include extra/status.conf;
}

12. *配置bbs站点*

discuz论坛首页:http://www.discuz.net/forum.php

cd /application/nginx/html/bbs/
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip
unzip Discuz_X3.2_SC_UTF8.zip
rm -rf readme/ utility/
mv Discuz_X3.2_SC_UTF8.zip /server/tools/
mv ./upload/* .
chown -R root.root ../bbs
chown -R nginx.nginx data config uc_*       #此授权目录安装时会显示 

登录网站创建bbs

rm -rf install #安装完后删除安装程序

注意:用户上传目录将来需要挂载到NFS上

13. *为blog程序配置实现URL伪静态*

首先在bbs后台启动需要URL静态化的页面,然后查看对应web的rewrite规则,如Nginx的rewrite代码如下,并将其至于bbs server配置文件server中的“location / {” 区域。

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 ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
    return 404;
}

重启Nginx服务即可

14. *blog、bbs上传目录NFS挂载*

mount -t nfs 192.168.80.105:/var/html/bbs/data /var/html/bbs/data
mount -t nfs 192.168.80.105:/var/html/bbs/upload /var/html/bbs/upload
mount -t nfs 192.168.80.105:/var/html/blog/wp-content /var/html/blog/wp-content

四、 *dedeCMS安装*

1. *CMS主站产品介绍*

官方网站:www.dedecms.com

dedeCMS是一个网站应用系统构建平台,也是一个强大的网站内容管理系统.既可以用来构建复杂体系的企业信息门户或电子商务网站平台,也可以用来管理简单内容发布网站,不管是商务资源门户还是娱乐信息门户,它都是管理网站的好帮手,能最大限度的去自由发挥网站设计天才,更轻松的驾驭管理您的网站而不需要非常专业的网站技术。dedeCMS的技术为php+mysql架构环境。

15. *安装CMS*

数据库操作:

create database www;
grant select,insert,update,alter,create on www.* to www@'192.168.80.%' identified by '123456';
select user,host from mysql.user;

nginx操作:

cd /server/tools/
wget http://updatenew.dedecms.com/base-v57/package/DedeCMS-V5.7-GBK-SP1-Full.tar.gz
tar zxvf DedeCMS-V5.7-GBK-SP1-Full.tar.gz
mv DedeCMS-V5.7-GBK-SP1-Full/uploads/* /var/html/www/
chown -R nginx /var/html/www/
[root@nginx extra]# cat www.conf 
    server {
        listen       80;
        server_name  www.etiantian.org;
        location / {
            root   /var/html/www;
            index  index.php index.html index.htm;
        }
        location ~ .*\.(php|php5)?$ {
            root   /var/html/www;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include /application/nginx/conf/fastcgi.conf;
        } 
        access_log logs/www_access.log main;
        }

登录www.etiantian.org进行安装

*错误:登录后台找不到文件*

错误日志显示:

2016/05/29 11:11:32 [error] 2116#0: *49 FastCGI sent in stderr: "PHP message: PHP Fatal error: session_start(): Failed to initialize storage module: memcache (path: /var/html/www/data/sessions_d41d8cd98f) in /var/html/www/include/userlogin.class.php on line 11" while reading response header from upstream, client: 192.168.80.1, server: www.etiantian.org, request: "GET /dede/login.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.etiantian.org"

*解决方法*

由于以前做过session会话共享,修改了php.ini配置文件,因此修改此配置文件下面两行

session.save_handler = files

session.save_path = "/tmp"

五、 *phpmyadmin安装*

*注意:安装环境为LNMP,并且mysql数据库有授权访问用户*

cd /server/tools/
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.2/phpMyAdmin-4.6.2-all-languages.zip
unzip phpMyAdmin-4.6.2-all-languages.zip
cd phpMyAdmin-4.6.2-all-languages
cp libraries/config.default.php config.inc.php
vi config.inc.php
$cfg['blowfish_secret'] = '1234567';                #如果认证方法设置为cookie,就需要设置短语密码,置于设置为什么密码,由您自己决定  ,但是不能留空,否则会在登录phpmyadmin时提示错误
$cfg['Servers'][$i]['host'] = '192.168.80.105';     # mysql主机地址  
$cfg['Servers'][$i]['port'] = '3306';               #mysql server服务端口
$cfg['Servers'][$i]['auth_type'] = 'cookie';        #认证方法
#在此有四种模式可供选择,cookie,http,HTTP,config 
#config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。 
#当该项设置为cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,,具体如下: 
#PHP安装模式为Apache,可以使用http和cookie; 
#PHP安装模式为CGI,可以使用cookie 
$cfg['Servers'][$i]['user'] = 'www';                #mysql用户名和密码  
$cfg['Servers'][$i]['password'] = '123456';

img

服务器技术交流群请加微信 YJZyjz