LNMP+TOMCAT

#1. MySQL安装

cd /usr/local/src    //安装包存放路径
 
 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz     //下载Mysql包
 
 tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz    //解压
 
 mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql    //移动位置
 
 cd /usr/local/mysql    //进入mysql
 
 useradd mysql    //创建用户
 
 mkdir /data/    //创建数据存放位置
 
 ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql    //初始化
 
 cp support-files/my-default.cnf  /etc/my.cnf     
 
 vi /etc/my.cnf    //指定datadir和socket路径
 
 cp support-files/mysql.server /etc/init.d/mysqld    
 
 vi /etc/init.d/mysqld    //定义basedir和datadir
 
 /etc/init.d/mysqld start    //启动
 
ps -aux|grep mysqld    //查看是否启动
 
chkconfig --add mysqld;chkconfig mysqld on    //加入服务列表并添加至开机启动
 
service mysqld start //重启mysql服务     service mysqld

2.PHP安装

cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
tar zxf php-5.6.30.tar.gz
useradd -s /sbin/nologin php-fpm
cd php-5.6.30
 ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl
 如果出现报错,根据提示安装所需要的软件包,直到配置完成。
 make && make install
 /usr/local/php-fpm/sbin/php-fpm -m  查看加载的模块
 /usr/local/php-fpm/sbin/php-fpm -i  查看php的相关信息
##  修改配置文件
cp php.ini-production /usr/local/php-fpm/etc/php.ini
ls /usr/local/php-fpm/etc/
vim /usr/local/php-fpm/etc/php-fpm.conf
[global]  定义全局参数
pid = /usr/local/php-fpm/var/run/php-fpm.pid  (pid路径)
error_log = /usr/local/php-fpm/var/log/php-fpm.log  (error_log路径)
[www]  模块名
listen = /tmp/php-fcgi.sock  监听地址
listen.mode = 666  定义sock文件权限666
user = php-fpm  定义是那个用户
group = php-fpm  定义是那个组
pm = dynamic                                 pm都是进程信息
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
## 保存配置文件后,检测配置是否正确:
usr/local/php-fpm/etc/php-fpm -t
如果显示test is successful,则说明配置成功。
## 启动php-fpm
cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 拷贝启动脚本到etc下面
chmod 755 /etc/init.d/php-fpm  修改文件权限为755
chkconfig --add php-fpm  把php-fpm服务添加到服务列表去
chkconfig php-fpm on  设置开机自启动
service php-fpm start  开启php-fpm服务
ps aux |grep php-fpm\\检查php-fpm服务启动状态

3.Nginx安装

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx
make && make install
## 编写Nginx启动脚本,并加入系统服务:
vim /etc/init.d/nginx
 
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start()
{
echo -n $"Starting $prog: "
mkdir -p /dev/shm/nginx_temp
daemon $NGINX_SBIN -c $NGINX_CONF
RETVAL=$?
echo
return $RETVAL
}
stop()
{
echo -n $"Stopping $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -TERM
rm -rf /dev/shm/nginx_temp
RETVAL=$?
echo
return $RETVAL
}
reload()
{
echo -n $"Reloading $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -HUP
RETVAL=$?
echo
return $RETVAL
}
restart()
{
stop
start
}
configtest()
{
$NGINX_SBIN -c $NGINX_CONF -t
return 0
}
case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
reload)
    reload
    ;;
restart)
    restart
    ;;
configtest)
    configtest
    ;;
*)
    echo $"Usage: $0 {start|stop|reload|restart|configtest}"
    RETVAL=1
esac
exit $RETVAL
## 保存脚本更改权限:
chmod 755 /etc/init.d/nginx
chkconfig --add nginx ; chkconfig nginx on //nginx加入开机启动
## 更改Nginx的配置文件:
> /usr/local/nginx/conf/nginx.conf\\重定向符号>,单独使用时,可以把一个文本文档快速清空。
编辑Nginx配置文件:
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;
server
{
    listen 80;
    server_name localhost;
    index index.html index.htm index.php;
    root /usr/local/nginx/html;
    location ~ \.php$
    {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
    }    
}
}
/usr/local/nginx/sbin/nginx -t 检查nginx语法错误
/etc/init.d/nginx start //启动nginx服务
ps aux |grep nginx 查看nginx进程
netstat -lntp 查看nginx端口 //80端口
echo "hello world">/usr/local/nginx/html/1.html\\curl测试
curl  localhost/1
systemctl status nginx\\ 查看nginx状态

4.JDK的安装

通过浏览器http://r.aminglinux.com下载,将JDK的包上传到LINUX机器上。上传完后,把它放到/usr/local/src目录下,然后解压:

cd /usr/local/src
tar zxvf jdk-8u101-linux-x64.tar.gz
mv jdk1.8.0_101 /usr/local/jdk1.8
然后设置环境变量:
vim /etc/profile  //在末尾输入以下内容
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
保存文件后,执行如下命令使其生效:
source /etc/profile
检测设置是否正确:
which java 
如果结果为/usr/bin/java则说明这是rpm的JDK,而且执行java -version时会有openjdk字样。

5.安装Tomcat

cd /usr/local/src/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz
tar zxvf apache-tomcat-8.5.31.tar.gz
mv apache-tomcat-8.5.31.tar.gz /usr/local/tomcat
因为是二进制包,所以免去了编译的过程,启动Tomcat,命令如下:
/usr/local/tomcat/bin/startup.sh
查看是否启动成功,命令如下:
ps aux |grep tomcat //看看是否有Java相关进程,也可以查看监听端口
netstat -lntp |grep java //正常会有三个端口8009,8005,和8080,其中8080为提供Web服务的端口,8005为管理端口,8009端口为第三方服务调用端口,比如httpd和Tomcat结合时会用到。
 
 
若想开机启动,则需要把启动命令放到/etc/rc.d/rc.local文件里,如下:
echo "usr/local/tomcat/bin/startup.sh" >> /etc/rc.d/rc.local
chmod a+x /etc/rc.d/rc.local  //默认该文件没有x权限,所以需要加一下。

6.最后通过rsync把配置文件和安装包同步到其他机器上即可,因为机器不算多,所以我是直接把整个根目录给同步了,使用的是以下脚本:

#!/usr/bin/expect
set host [lindex $argv 0]
set passwd [lindex $argv 1]

spawn rsync -av / root@$host:/
expect {
"yes/no" { send "yes\r"}
"password:" { send "$passwd\r" }
}

interact

## 调用脚本
#!/bin/bash
passwd=$2
for ip in `cat $1`
do
    ./syncAll.expect $ip $passwd
done

7.在所有的web服务器上搭建discuz论坛、dedecms企业网站以及zrlog博客,这一步也是和搭建环境一样,先在一台机器上搭建好,然后再同步到其他机器上.

1.搭建discuz论坛,先给discuz配置一个虚拟主机站点,和配置默认虚拟主机差不多:

进入到vhost目录下,创建一个discuz.com.conf文件:

cd /usr/local/nginx/conf/vhost vim discuz.com.conf

添加以下内容:

server
{
    listen 80;
    server_name www.discuz.com;
    index index.html index.htm index.php;
    root /data/wwwroot/discuz.com;

        location ~ \.php$
    {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/wwwroot/discuz.com$fastcgi_script_name;
    }
}

创建站点目录:

mkdir -p /data/wwwroot/discuz.com/

进入discuz.com目录,创建一个php文件:

cd /data/wwwroot/discuz.com/ vim index.php

文件内容和测试方式都是配置以上配置默认虚拟主机的过程一样,这里就不再赘述了。

记得每配置一个虚拟主机站点都要重启nginx服务。

8.开始安装Discuz

1.下载Discuz的压缩包:

Discuz的压缩包可以在官网下载自己需要的版本:http://www.discuz.net/forum.php

我这里使用的是3.3的UTF8版本:

[root@localhost ~]# cd /usr/local/src/
[root@localhost /usr/local/src]# wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip

解压:

[root@localhost /usr/local/src]# unzip Discuz_X3.3_SC_UTF8.zip

解压后会有以下几个目录:

[root@localhost /usr/local/src]# ls
Discuz_X3.3_SC_UTF8.zip readme upload utility

下载好并解压后,先将之前用于测试的默认页文件给删掉,然后将以上解压的upload目录下所有的文件拷贝到discuz.com站点目录下:

[root@localhost /usr/local/src]# rm -f /data/wwwroot/discuz.com/index.php
[root@localhost /usr/local/src]# ls /data/wwwroot/discuz.com/
[root@localhost /usr/local/src]# cp -r upload/* /data/wwwroot/discuz.com/
[root@localhost /usr/local/src]# ls !$
ls /data/wwwroot/discuz.com/
admin.php  config           data         home.php    misc.php    search.php  uc_client
api        connect.php      favicon.ico  index.php   plugin.php  source      uc_server
api.php    cp.php           forum.php    install     portal.php  static      userapp.php
archiver   crossdomain.xml  group.php    member.php  robots.txt  template

ok之后到windows上配置hosts文件,windows的hosts文件默认在这个目录下:

C:\Windows\System32\drivers\etc

在hosts文件中加上这一句: 192.168.200.152 www.discuz.com (192.168.200.152 == zabbix + NFS服务器) 保存之后就可以在浏览器上直接进行访问 www.discuz.com 了,访问成功后会显示如下页面,点击同意进入下一步,然后就会进入目录、文件的权限检查界面,但是会发现这些目录或文件权限不足,所以都是不可写的状态,那么就只能自己写个脚本给这些目录赋予权限了,页面中显示的目录路径都是相对路径,所以这个脚本需要放在站点的根目录下:

[root@localhost ~]# cd /data/wwwroot/discuz.com/
[root@localhost /data/wwwroot/discuz.com]# vim fileList.txt  # 先把路径都放在一个文本文件中
./config
./data
./data/cache
./data/avatar
./data/plugindata
./data/download
./data/addonmd5
./data/template
./data/threadcache
./data/attachment
./data/attachment/album
./data/attachment/forum
./data/attachment/group
./data/log
./uc_client/data/cache
./uc_server/data/
./uc_server/data/cache
./uc_server/data/avatar
./uc_server/data/backup
./uc_server/data/logs
./uc_server/data/tmp uc_server/data/view
[root@localhost /data/wwwroot/discuz.com]# vim filePermission.sh
#!bin/bash
# 写个简单的循环脚本就搞定了
for file in `cat ./fileList.txt`
do
  chmod 777 $file
done

[root@localhost /data/wwwroot/discuz.com]# sh ./filePermission.sh

执行完脚本后刷新页面就会发现状态都变为可写了. 没问题后就点击页面下方的”下一步“:

 

1、选择“全新安装 Discuz! X (含 UCenter Server)”

如果你之前没有安装过Discuz就选择此项。

2、选择“仅安装 Discuz! X (手工指定已经安装的 UCenter Server )”

如果你之前安装过Discuz,现在只是升级的话,选择此项并保证之前的 UCenter 是 UCenter 1.6.0 版本,如果之前安装的 UCenter Server 没有进行升级操作的话,一般为 1.5.1 或 1.5.2 版本,你需要首先升级 Ucenter 到 1.6.0版本, 否则安装程序会提示错误,无法继续。因为我是没安装过的所以这里以全新安装 Discuz为例。 点击“下一步”,进入安装数据库的界面,如下图所示:

这里只需要输入你数据库root用户的密码,然后再设置一个admin密码就可以了,发送告警邮件的邮箱写不写都可以,剩下的会自动进行安装:

安装完成后点击访问即可,如果你不需要安装Discuz推荐的应用的话:

访问:

然后回到web服务器上修改discuz的配置文件。将dbhost,dbuser,dbpw,dbname中的参数改为和mycat一一对应。实现读写分离:

[root@localhost /data/wwwroot/discuz.com]$ vim /data/wwwroot/discuz.com/config/config_global.php
// ----------------------------  CONFIG DB  ----------------------------- //
$_config['db']['1']['dbhost'] = '192.168.200.149:8066';
$_config['db']['1']['dbuser'] = 'discuz';
$_config['db']['1']['dbpw'] = '123456';
$_config['db']['1']['dbcharset'] = 'utf8';
$_config['db']['1']['pconnect'] = '0';
$_config['db']['1']['dbname'] = 'ultrax';
$_config['db']['1']['tablepre'] = 'pre_';
$_config['db']['slave'] = '';
$_config['db']['common']['slave_except_table'] = '';

## 修改完成后重启nginx
[root@localhost /data/wwwroot/discuz.com]$ service nginx restart
Restarting nginx (via systemctl):

然后登录discuz论坛的admin用户,能够成功登录代表没问题:

9.搭建zrlog博客系统:

1.配置tomcat的虚拟主机,Tomcat在server.xml文件中配置虚拟主机:

[root@localhost ~]$ vim /usr/local/tomcat/conf/server.xml

# 在文件中增加以下内容:
<Host name="www.zrlog.com" appBase=""
        unpackWARs= "true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="/data/wwwroot/zrlog.com/" debug="0" reloadable="true" crossContext="true"/>
</Host>

2.创建相应的站点目录:

mkdir /data/wwwroot/zrlog.com

3.下载zrlog,并解压到站点目录下:

[root@localhost ~]$ cd /usr/local/src/
[root@localhost /usr/local/src]$ wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@localhost /usr/local/src]$ unzip zrlog-1.7.1-baaecb9-release.war
[root@localhost /usr/local/src]$ unzip zrlog-1.7.1-baaecb9-release.war -d /data/wwwroot/zrlog.com
[root@localhost /usr/local/src]$ cd !$
cd /data/wwwroot/zrlog.com
[root@localhost /data/wwwroot/zrlog.com]$ ls
admin  assets  error  favicon.ico  include  install  META-INF  WEB-INF
[root@localhost /data/wwwroot/zrlog.com]$

4.为了共享80端口还需要配置nginx反向代理tomcat,编辑主机配置文件:

[root@localhost ~]$ vim /usr/local/nginx/conf/vhost/zrlog.com.conf
## 文件内容如下
upstream zrlog_com
{
    ip_hash;
    server localhost:8080;
}
server
{
    listen 80;
    server_name www.zrlog.com;
    location /
    {
        proxy_pass      http://zrlog_com;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
[root@localhost ~]$  service nginx restart  # 重启nginx

5.重启tomcat服务:

/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

6.配置好Windows上的hosts文件,然后使用浏览器访问 http://www.zrlog.com

7.安装完成:

8.查看主页:

控制台也没问题:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值