搭建LNMP环境,和Tomcat+Java环境,默认80端口给Nginx,Tomcat使用8080端口。javascript
先在一台机器上部署好所有环境,而后经过rsync同步整个环境。php
使用expect脚本以前安装一些通用工具,yum -y install expect vim-enhanced epel-release libmcrypt-devel libmcryptcss
[root@localhost ~]# vim mvPasswd.expect #!/usr/bin/expect set host [lindex $argv 0] set passwd "原密码" set password [lindex $argv 1] spawn ssh root@$host expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect "]*" send "passwd\r" expect ":" send "$password\r" expect ":" send "$password\r" expect "]*" send "exit\r" interact [root@localhost ~]# chmod a+x mvPasswd.expect
[root@localhost ~]# vim mvPasswd.sh #!/bin/bash for ip in `cat $1` do ./mvPasswd.expect $ip $2 done # 第一个参数存储ip列表的文件,第二个参数是须要修改的密码 [root@localhost ~]# sh mvPasswd.sh /root/ip.txt "u7wtiYT22g"
[root@localhost ~]# vim cmd.expect #!/usr/bin/expect set user [lindex $argv 0] # 系统用户 set host [lindex $argv 1] # 服务器地址 set passwd [lindex $argv 2] # 密码 set cm [lindex $argv 3] # 须要执行的命令 spawn ssh $user@$host set timeout -1 expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect "]#" send "$cm\r" expect "]#" send "exit\r" interact [root@localhost ~]# chmod a+x cmd.expect [root@localhost ~]# vim cmd.sh
#!/bin/bash user=$2 password=$3 cm=$4 for ip in `cat $1` do ./cmd.expect "$user" "$ip" "$password" "$cm" done ## 参数1是存储ip列表的文件路径 ## 参数2是用户名 ## 参数3是密码 ## 参数4须要执行的命令
[root@localhost ~]# sh cmd.sh "/root/ip.txt" "root" "u7wtiYT22g" "init 0"
yum -y install epel-release wget gcc gcc-c++ libmcrypt-devel libmcrypt libcurl-devel libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel; cd /usr/local/src/; wget http://nginx.org/download/nginx-1.8.0.tar.gz; tar -zxvf nginx-1.8.0.tar.gz; cd nginx-1.8.0; ./configure --prefix=/usr/local/nginx --with-http_ssl_module; echo $? > /root/downloadNginx.log; make && make install; echo $? >> /root/downloadNginx.log
vim /etc/init.d/nginx 而后将这网址里的文件内容复制进去: https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx
chkconfig --add nginx chkconfig nginx on
进入nginx的conf目录:cd /usr/local/nginx/confhtml
备份一下原配置文件 :mv nginx.conf nginx.conf.bakjava
从新编辑vim nginx.conf 写入如下网址内容。mysql
https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf
检查配置文件:/usr/local/nginx/sbin/nginx -tlinux
启动服务 :service nginx startnginx
检查进程: ps aux |grep nginxc++
检查80端口监听:netstat -lntp |grep 80git
curl localhost有网页内容输出说明成功。
安装mysql,这是由于php须要用到mysql的驱动库,因此只须要安装便可,不须要进行配置:
cd /usr/local/src/; yum install -y epel-release wget perl-Module-Install.noarch libaio*; wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz; tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz; mv mysql-5.6.39-linux-glibc2.12-x86_64 ../mysql; cd /usr/local/mysql; mkdir /data/; useradd mysql; ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql; echo $? > /root/downloadMySQL.log
cd /usr/local/src/; yum -y install epel-release wget gcc gcc-c++ libmcrypt-devel libmcrypt libcurl-devel libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel; wget http://cn2.php.net/distributions/php-5.6.32.tar.gz; tar -zxvf php-5.6.32.tar.gz; cd php-5.6.32/; ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --with-fpm-user=nginx --with-fpm-group=nginx --with-mysql --with-pdo-mysql --with-mysqli --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir --enable-xml --with-mcrypt --enable-gd-native-ttf --enable-exif --with-pear --with-iconv-dir --enable-ftp --enable-soap --with-bz2 --with-curl --with-mhash --with-openssl --with-gd --enable-mysqlnd; echo $? > /root/downloadPHP.log; make && make install; echo $? >> /root/downloadPHP.log
cp php.ini-production /usr/local/php-fpm/etc/php.ini
[global] pid = /usr/local/php-fpm/var/run/php-fpm.pid error_log = /usr/local/php-fpm/var/log/php-fpm.log [www] listen = /tmp/php-fcgi.sock listen.mode = 666 user = php-fpm group = php-fpm 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
cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod 755 /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on
useradd -s /sbin/nologin php-fpm
/usr/local/php-fpm/sbin/php-fpm -t [06-Aug-2018 21:57:51] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
[root@xiangmu1 php-5.6.32]# service php-fpm start Starting php-fpm done [root@xiangmu1 php-5.6.32]# ps aux |grep php-fpm
vim /usr/local/nginx/html/1.php
<?php echo "This Test Page!" ?>
curl localhost/1.php This Test Page!
vim /usr/local/nginx/conf/nginx.conf
*下面的要删除掉* 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; } }
gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css text/htm application/xml; *须要增长* include vhost/*.conf; }
[root@aminglinux-01 conf]# cd /usr/local/nginx/conf/vhost [root@aminglinux-01 vhost]# vim default.conf
server { listen 80 default_server; server_name aaa.com; index index.html index.htm index.php; root /data/wwwroot/default; location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/default$fastcgi_script_name; } }
[root@aminglinux-01 vhost]# mkdir -p /data/wwwroot/default [root@aminglinux-01 vhost]# cd /data/wwwroot/default/
vim index.html 写入 This is the default site.
[root@aminglinux-01 default]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@aminglinux-01 conf]# curl localhost This is the default site.
jdk的下载地址要临时去官网获取,官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载到/usr/local/src目录下: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
cd /usr/local/src/ ;wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz ; tar -zxvf jdk-8u181-linux-x64.tar.gz
mv jdk1.8.0_181/ /usr/local/jdk1.8
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
执行java -version 显示以下内容说明配置正确
[root@xiangmu1 src]# java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
cd /usr/local/src ; wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz ; tar -zxvf apache-tomcat-8.5.32.tar.gz ; mv apache-tomcat-8.5.32 /usr/local/tomcat
/usr/local/tomcat/bin/startup.sh # 启动服务 /usr/local/tomcat/bin/shutdown.sh # 关闭服务
netstat -lntp ps aux |grep java
echo "/usr/local/tomcat/bin/startup.sh" >> /etc/rc.d/rc.local chmod a+x /etc/rc.d/rc.local //默认该文件没有x权限,因此须要加一下
#!/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
cd /usr/local/src/; yum install -y epel-release wget perl-Module-Install.noarch libaio*; wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz; tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz; mv mysql-5.6.39-linux-glibc2.12-x86_64 ../mysql; cd /usr/local/mysql; mkdir /data/; useradd mysql; ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql; echo $? > /root/downloadMySQL.log
# 拷贝配置文件 [root@localhost ~]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf [root@localhost ~]# vim /etc/my.cnf [mysqld] datadir=/data/mysql socket=/tmp/mysql.sock # 拷贝启动脚本 [root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld # 而后定义basedir和datadir的路径 [root@localhost ~]# vim /etc/init.d/mysqld basedir=/usr/local/mysql datadir=/data/mysql # 将mysql加入服务列表里面去,并设置为开机启动: [root@localhost ~]# chkconfig --add mysqld [root@localhost ~]# chkconfig mysqld on
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //将/usr/local/mysql/bin 加入环境变量 执行:source /etc/profile
登录 mysql -uroot -p
错误解决:
若是出现密码明明是正确的可是却没法登录报错的状况:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这是由于MySQL中默认存在一个用户名为空的帐户,只要在本地,能够不用输入帐号密码便可登陆到MySQL中。mysql在验证用户登录的时候,首先是验证host列,若是host列在验证user列,再password列,而如今按照我以前的链接语句:按照host列找到为空的那列(空匹配全部用户名),因此匹配到了这条记录,而后发现这条记录的密码为空,而个人语句里面有密码,那么就会报错。
解决办法:删除匿名用户:
首先修改my.cnf,vim /etc/my.cnf增长如下语句跳过密码验证:
skip-grant-tables
mysql> use mysql; mysql> delete from user where user=''; Query OK, 2 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
[root@localhost ~]$ mysql -uroot -p Enter password: 123456 Welcome to the MySQL monitor. Commands end with ; or \g.
所有机器都安装好mysql后开始配置主从
修改my.cnf配置文件:
[root@localhost ~]$ vim /etc/my.cnf [mysqld] server-id=146 log_bin=master-bin [root@localhost ~]$ service mysqld restart # 修改完配置文件后,重启mysqld服务 [root@localhost ~]$ ls /data/mysql # 看看是否多了如下两个文件 master-bin.000001 master-bin.index
grant replication slave on *.* to 'repl'@'192.168.159.40' identified by '123456'; grant replication slave on *.* to 'repl'@'192.168.159.50' identified by '123456';
mysql -urepl -h"192.168.159.30" -p'123456'
flush tables with read lock;
mysql> show master status; +-------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-------------------+----------+--------------+------------------+-------------------+ | master-bin.000001 | 120 | | | | +-------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
[root@localhost ~]$ vim /etc/my.cnf [mysqld] server-id=147 [root@localhost ~]$ service mysqld restart
[root@localhost ~]$ mysql -uroot -p'123456' mysql> stop slave; mysql> change master to master_host='192.168.159.30', master_user='repl', master_password='123456', master_log_file='master-bin.000001', master_log_pos=120; mysql> start slave;
mysql> show slave status\G
Slave_IO_Running: Yes Slave_SQL_Running: Yes
# master mysql> unlock tables; mysql> create database blog; # 建立一个数据库 mysql> use blog; mysql> create table users( uid int primary key, uname varchar(100), sex varchar(5)); mysql> insert into users(uid,uname,sex) values(1,'Jon','man');
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | blog | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) mysql> use blog; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select * from users; +-----+-------+------+ | uid | uname | sex | +-----+-------+------+ | 1 | Jon | man | +-----+-------+------+ 1 row in set (0.00 sec) mysql>
cd /usr/local/src/ ;wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz ; tar -zxvf jdk-8u181-linux-x64.tar.gz
mv jdk1.8.0_181/ /usr/local/jdk1.8
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
执行java -version 显示以下内容说明配置正确
[root@xiangmu1 src]# java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
下载并解压到/usr/local目录下
cd /usr/local/src/ wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz mv mycat/ /usr/local/ ls /usr/local/mycat/ bin catlet conf lib logs version.txt
vim /usr/local/mycat/conf/server.xml
# root用户对逻辑数据库ultrax,DedeCMS,zrlog具备增删改查的权限 <user name="root"> <property name="password">123456</property> <property name="schemas">ultrax,DedeCMS,zrlog</property> </user> # discuz用户对逻辑数据库ultrax具备增删改查的权限 <user name="discuz"> <property name="password">123456</property> <property name="schemas">ultrax</property> </user> # dedecms用户对逻辑数据库DedeCMS具备增删改查的权限 <user name="dedecms"> <property name="password">123456</property> <property name="schemas">DedeCMS</property> </user> # zrlog用户对逻辑数据库zrlog具备增删改查的权限 <user name="zrlog"> <property name="password">123456</property> <property name="schemas">zrlog</property> </user> # 该用户对逻辑数据库ultrax,DedeCMS,zrlog仅有只读的权限 <user name="user"> <property name="password">123456</property> <property name="schemas">ultrax,DedeCMS,zrlog</property> <property name="readOnly">true</property> </user>
把自带的配置文件重命名,做为备份
mv /usr/local/mycat/conf/schema.xml /usr/local/mycat/conf/schema.xml_bak
新建配置文件
vim /usr/local/mycat/conf/schema.xml
配置内容以下
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="ultrax" checkSQLschema="false" sqlMaxLimit="1000" dataNode="dn1" /> <schema name="DedeCMS" checkSQLschema="false" sqlMaxLimit="1000" dataNode="dn2" /> <schema name="zrlog" checkSQLschema="false" sqlMaxLimit="1000" dataNode="dn3" /> <dataNode name="dn1" dataHost="localhost1" database="ultrax" /> <dataNode name="dn2" dataHost="localhost1" database="DedeCMS" /> <dataNode name="dn3" dataHost="localhost1" database="zrlog" /> <dataHost name="localhost1" maxCon="2000" minCon="1" balance="3" writeType="1" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="192.168.159.30:3306" user="root" password="123456"> <!-- can have multi read hosts --> <readHost host="hostS1" url="192.168.159.40:3306" user="root" password="123456" /> #<readHost host="hostS2" url="192.168.159.50:3306" user="root" password="123456" /> </writeHost> </dataHost> </mycat:schema>
<?xml version="1.0"?> xml文件格式; <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> 文件标签属性; <mycat:schema xmlns:mycat="http://io.mycat/"> Mycat起始标签 配置逻辑库,与server.xml指定库名保持一致,绑定数据节点dn1; <schema name="testdb" checkSQLschema="false" sqlMaxLimit="1000" dataNode="dn1"></schema> 添加数据节点dn1,设置数据节点host名称,同时设置数据节点真实database为discuz; <dataNode name="dn1" dataHost="localhost1" database="discuz" /> 数据节点主机,绑定数据节点,设置链接数及均衡方式、切换方法、驱动程序、链接方法; <dataHost name="localhost1" maxCon="2000" minCon="1" balance="3" writeType="1" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> Balance均衡策略设置: 1) balance=0 不开启读写分离机制,全部读操做都发送到当前可用writehost; 2) balance=1 所有的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,而且M1与 M2互为主备),正常状况下,M2,S1,S2都参与select语句的负载均衡 3) balance=2 全部读操做都随机的在readhost和writehost上分发; 4) balance=3 全部读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力。 writeType 写入策略设置 1) writeType=0, 全部写操做发送到配置的第一个writeHost; 2) writeType=1,全部写操做都随机的发送到配置的writeHost; 3) writeType=2,不执行写操做。 switchType 策略设置 1) switchType=-1,表示不自动切换; 2) switchType=1,默认值,自动切换; 3) switchType=2,基于MySQL 主从同步的状态决定是否切换; 4) switchType=3,基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为 show status like 'wsrep%'。 检测后端MYSQL实例,SQL语句; <heartbeat>select user()</heartbeat> 指定读写请求,同时转发至后端MYSQL真实服务器,配置链接后端MYSQL用户名和密码(该用户名和密码为MYSQL数据库用户名和密码); <writeHost host="hostM1" url="192.168.200.146:3306" user="root" password="123456"> <readHost host="hostS1" url="192.168.200.147:3306" user="root" password="123456" /> <readHost host="hostS2" url="192.168.200.148:3306" user="root" password="123456" /> </writeHost> </dataHost> 数据主机标签; </mycat:schema> mycat结束标签;
[root@localhost ~]$ /usr/local/mycat/bin/mycat start [root@localhost ~]$ netstat -lntp tcp6 0 0 :::9066 :::* LISTEN 6746/java tcp6 0 0 :::8066 :::* LISTEN 6746/java # 注意:若是没有这两个端口没有启动,查看java环境是否生效。 # 8066是用于web链接mycat. # 9066是用于SA|DBA管理端口.
[root@localhost ~]$ mysql -h'192.168.159.100' -udiscuz -p'123456' -P'8066' mysql> show databases; +----------+ | DATABASE | +----------+ | ultrax | +----------+ 1 row in set (0.01 sec) mysql>
能够正常登录,也能查看到数据库。
使用root用户登陆看看是否能查看到全部的数据库
mysql -h'192.168.159.100' -uroot -p'123456' -P'8066'
mysql> show databases; +----------+ | DATABASE | +----------+ | DedeCMS | | ultrax | | zrlog | +----------+ 3 rows in set (0.00 sec) mysql>
mysql> show @@datasource; +----------+--------+-------+----------------+------+------+--------+------+------+---------+-----------+------------+ | DATANODE | NAME | TYPE | HOST | PORT | W/R | ACTIVE | IDLE | SIZE | EXECUTE | READ_LOAD | WRITE_LOAD | +----------+--------+-------+----------------+------+------+--------+------+------+---------+-----------+------------+ | dn1 | hostM1 | mysql | 192.168.159.30 | 3306 | W | 0 | 0 | 2000 | 0 | 0 | 0 | | dn1 | hostS1 | mysql | 192.168.159.40 | 3306 | R | 0 | 0 | 2000 | 0 | 0 | 0 | | dn3 | hostM1 | mysql | 192.168.159.30 | 3306 | W | 0 | 0 | 2000 | 0 | 0 | 0 | | dn3 | hostS1 | mysql | 192.168.159.40 | 3306 | R | 0 | 0 | 2000 | 0 | 0 | 0 | | dn2 | hostM1 | mysql | 192.168.159.30 | 3306 | W | 0 | 0 | 2000 | 0 | 0 | 0 | | dn2 | hostS1 | mysql | 192.168.159.40 | 3306 | R | 0 | 0 | 2000 | 0 | 0 | 0 | +----------+--------+-------+----------------+------+------+--------+------+------+---------+-----------+------------+ 6 rows in set (0.00 sec)
[root@localhost ~]$ mysql -uroot -p'123456' mysql> create database ultrax default character set utf8; mysql> create database DedeCMS default character set utf8; mysql> create database zrlog default character set utf8; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | DedeCMS | | mysql | | performance_schema | | test | | ultrax | | zrlog | +--------------------+ 7 rows in set (0.00 sec) mysql>
完成以上操做后主从复制和读写分离就弄好了,接下来就是搭建web服务器,而后进行对接便可。
而后回到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.159.100: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): [ 肯定 ]
这一步也是和搭建环境同样,先在一台机器上搭建好,而后再同步到其余机器上。
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/
cd /data/wwwroot/discuz.com/ vim index.php
<?php echo "This Test Page!" ?>
文件内容和测试方式都是配置以上配置默认虚拟主机的过程同样
每配置一个虚拟主机站点都要重启nginx服务
Discuz的压缩包能够在官网下载本身须要的版本 http://www.discuz.net/forum.php
[root@xiangmu1 ~]# cd /usr/local/src/ [root@xiangmu1 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
[root@xiangmu1 src]# rm -f /data/wwwroot/discuz.com/index.php [root@xiangmu1 src]# ls /data/wwwroot/discuz.com/ [root@xiangmu1 src]# cp -r upload/* /data/wwwroot/discuz.com/ [root@xiangmu1 src]# ls !$ ls /data/wwwroot/discuz.com/ admin.php archiver cp.php favicon.ico home.php member.php portal.php source uc_client api config crossdomain.xml forum.php index.php misc.php robots.txt static uc_server api.php connect.php data group.php install plugin.php search.php template userapp.php [root@xiangmu1 src]#
192.168.200.152 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
/data/wwwroot/DedeCMS/uploads/include/helpers