Centos7 部署社交网站(discuz论坛)
操作环境:
192.168.80.100 : svn
192.168.80.101 : nginx
192.168.80.102 : mariadb
192.168.80.103 : php
192.168.80.104 : nfs
注意:为了防止不必要的错误,五台虚拟机都要联网,并且防火墙和selinux都要关闭
systemctl stop firewalld //临时关闭防火墙
setenforce 0 //临时关闭selinux
实验所需软件包(没有的都是用yum安装)
链接:https://pan.baidu.com/s/1AHnYBFBeQoovKaYkIYhaFQ
提取码:zcqn
测试网络是否能够正常使用,出现以下效果表示网络正常
ping www.qq.com
-----------------------------------以上是五台机器都要执行的操作------------------------------------------------------
1、搭建SVN
yum install -y subversion --安装SVN
mkdir -p /opt/svn/repo //创建/opt/svn/repo目录
svnadmin create /opt/svn/repo/ //创建一个版本仓库
cd /opt/svn/repo/conf/ //切换到配置文件中
vi svnserve.conf
去掉注释,修改以下内容,前面一定不能有空格:
anon-access = none //匿名用户没有任何权限
auth-access = write //认证用户具有写权限
password-db = /opt/svn/repo/conf/passwd //用户的密码文件
authz-db = /opt/svn/repo/conf/authz //用户信息文件
realm = #指定版本库的认证域,即在登录时提示的认证域名称
svnserve -d -r /opt/svn/repo/ //以守护模式启动SVN服务,关闭用kill pid
netstat -anptu | grep svnserve //3690端口监听
vi passwd //明文设置用户和密码
tom = 123 //格式:用户名 = 用户密码
vi authz //详细权限配置文件
[/] 根目录,也就是/opt/svn/repo
tom = rw
[/webapp] //指定目录
tom = rw //程序员对此目录有读写权限
[/webphp] //指定目录
tom = rw //程序员对此目录有读写权限
mkdir /opt/svn/repo/ webapp //创建要被管理的目录
mkdir /opt/svn/repo/ webphp
cd /opt/svn/repo/webapp
Vi index.html
<h1>nginx</h1>
cd /opt/svn/repo/webphp
Vi index.php
<?php
Phpinfo();
?>
svn import webphp file:///opt/svn/repo/webphp/ -m "init web" //初始化目录,导入webphp
svn import webapp file:///opt/svn/repo/webapp/ -m "init web" //初始化目录,导入webapp
------------------------------------------------SVN------------------------------------------------------------------------------------
2、部署nginx服务
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm //安装一个nginx源
yum -y install nginx //安装nginx
修改nginx配置文件
vi /etc/nginx/conf.d/default.conf
location / {
root /var/www/html/webapp;
index index.html index.htm;
}
添加以下内容,//#error_page 404 /404.html; 上面添加
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
root /var/www/html/webapp;
}
location ~ \.php$ {
root /var/www/html/webphp;
fastcgi_pass 192.168.80.103:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/webphp$fastcgi_script_name;
include fastcgi_params;
}
用nginx -t 检查配置文件有没有语法错误,出现以下效果说明配置文件没有问题
mkdir -p /var/www/html //创建自定义的网页根目录
cd /var/www/html //切换到网页根目录
yum install subversion -y //安装svn,需要从svn服务器拉取网页文件
svn co svn://192.168.80.100/webapp //从svn服务器拉取webapp目录,下面交互式按照 svn服务器配置进行确认
启动nginx并测试是否正常systemctl start nginx
查看80端口是否开启
在浏览器 地址栏: 192.168.80.101
------------------------nginx----------------------------------
3、部署mariadb服务(mysql)yum install mariadb mariadb-server -y //安装mariadb
systemctl start mariadb //启动mariadb
查看3306端口启动了没有
mysql_secure_installation //给mysql进行安全设置
Y-Y-N-Y-Ymysql -uroot -p //进入mariadb
-----------------------------------mariadb----------------------------------------------------
4、部署php
1、安装依赖件
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
2、安装编译环境
yum install -y gcc gcc-c++ make
3、安装php
yum install bzip2 -y
tar xjvf php-7.1.10.tar.bz2 -C /opt/
cd /opt/php-7.1.10
./configure --prefix=/usr/local/php --with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer --enable-zip --enable-fpm
在mariadb上查看
vi /etc/my.cnf
make && make install //编译并且安装(过程稍微有点漫长。。。。。)
cp php.ini-development /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini
mysqli.default_socket = /var/lib/mysql/mysql.sock
date.timezone = Asia/Shanghai
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
vi www.conf
listen = 0.0.0.0:9000
cd /usr/local/php/etc/
vi php-fpm.conf
;pid = run/php-fpm.pid 在这个下面添加
;user = nginx
;group = nginx
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini //启动php
netstat -anpt | grep 9000
mkdir -p /var/www/html
cd /var/www/html
yum install subversion -y
svn co svn://192.168.80.100/webphp
在浏览器上:
http://192.168.80.101/index.php
http://192.168.80.101
测试PHP网页能否访问Mysql数据库
在数据库服务器上:(mariadb)
CREATE DATABASE bbs;
GRANT all ON bbs.* TO ‘bbsadm‘@‘%‘ IDENTIFIED BY ‘admin123‘;
GRANT all ON bbs.* TO ‘bbsadm‘@‘localhost‘ IDENTIFIED BY ‘admin123‘;
flush privileges;
在php服务器:
vi /var/www/webphp/index.php
<?php
$link=mysqli_connect(‘192.168.80.102‘,‘bbsadm‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
在浏览器上:
http://192.168.80.101/index.php
---------------------------------php----------------------------------------------------------------------
部署nfs服务
yum install nfs-utils -y
mkdir /opt/web
vi /ext/exports
/opt/web 192.168.80.0/24(rw,sync)
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
yum install unzip -y
unzip Discuz_X3.4_SC_UTF8_0101.zip
cd dir_SC_UTF8/
cp -rf upload/ ../web/
cd /opt/web/upload
chmod -R 777 config/
chmod -R 777 data/
chmod -R 777 uc_client/
chmod -R 777 uc_server/
-------------------------nfs--------------------------------------
最后的部署
在nginx的/var/www/html/webapp/ 下创建一个名为bbs的目录
mkdir /var/www/html/webapp/bbs
yum install nfs-utils -y
cd /var/www/html/webapp
mount.nfs 192.168.80.104:/opt/web /var/www/html/webapp/bbs
在php的/var/www/html/webphp/ 下创建一个名为bbs的目录
mkdir /var/www/html/webphp/bbs
yum install nfs-utils -y
mount.nfs 192.168.80.104:/opt/web /var/www/html/webphp/bbs
进行论坛安装
在浏览器内访问:192.168.80.101/bbs/upload/install/index.php
注意:安装的所以参数都是之前在mariadb设置的,一定要按实际情况!!!!
在浏览器输入:http://192.168.80.101/bbs/upload/index.php
---------------------------------------社交网站部署完成-------------------------------------------------------------------
实验中遇到了问题可以在下方评论本人会帮忙解答
原文地址:https://blog.51cto.com/13701082/2374636