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
---------------------------------------社交網站部署完成-------------------------------------------------------------------
實驗中遇到了問題可以在下方評論本人會幫忙解答
Centos7 部署社交網站(discuz論壇)