项目案例:部署社交网站(svn服务器)全面过程

news/2024/5/18 22:06:27/文章来源:https://blog.csdn.net/rujianxuezha/article/details/79975692

案例需求:社交网站采用PHP语言开发,为了管理开发代码,搭建SVN服务器进行版本控制,社交网站的第一个版本部署在LNMP平台上,前端为nginx服务器,通过fastcgi协议访问后端的PHP服务器。这里实现动静分离,动态页面交给PHP服务器来处理,静态页面交给nginx服务器来处理。

案例环境:

主机

操作系统

IP地址

主要软件

功能

SVN服务器

Centos7.4

192.168.80.181

www.aa.com

subversion

PHP服务器创建repo目录的访问账户,通知PHP程序员可以导入代码

Nginx服务器

Centos7.4

192.168.80.182

www.ab.com

nginx-1.13.7.tar.gz

显示网站的静态页面

PHP服务器

Centos7.4

192.168.80.183

www.ac.com

php-7.1.10.tar.bz

显示网站的动态页面

实验步骤:

-----1.部署SVN服务器在181主机上,要公网环境-------

[www.aa.com@ ~]# service firewalld stop

[www.aa.com@ ~]# systemctl disable firewalld

[www.aa.com@ ~]# setenforce 0

 

[www.aa.com@ ~]# yum install -y subversion

[www.aa.com@ ~]# svnserve --version        //查看版本

[www.aa.com@ ~]# mkdir -p /opt/svn/repo

[www.aa.com@ ~]# svnadmin create /opt/svn/repo/   //php程序员创建仓库目录repo(用于统一存储开发数据)

[www.aa.com@ ~]# ls /opt/svn/repo/


如上图,当创建新仓库后,之前创建的/opt/svn/repo目录里就会多了一些目录及文件。

注:conf ——用户认证和权限配置文件

dd ——版本控制信息产生的数据

format ——当前代码库账号数据

----------调整SVN参数-------------

[www.aa.com@ ~]# cd /opt/svn/repo/

 

[www.aa.com@ repo]# vi conf/svnserve.conf      //修改以下几行

19 anon-access = none                       //匿名用户没有任何权限

20 auth-access = write                       //认证用户有写权限

27 password-db = /opt/svn/repo/conf/passwd   //用户的密码文件

34 authz-db = /opt/svn/repo/conf/authz       //用户的信息文件

[www.aa.com@ repo]# svnserve -d -r /opt/svn/repo/    //启动SVN服务(停止 svnservekillall -9  svnserve )

[www.aa.com@ repo]# netstat -anptu | grep svnserve  //3690端口监听

 

[www.aa.com@ repo]# vi conf/passwd       //创建账户密码文件

alpha = alphapass           //格式:用户名=用户密码,这里为php程序员alpha建立用户

sysadmin = sysadminpass

 

[www.aa.com@ repo]# vi conf/authz        //创建权限文件,新增以下内容

[/]

sysadmin = r

alpha = r

[/webphp]

sysadmin = r    //运维工程师账户具有读权限,用于部署

alpha = rw      //alpha用户对此目录有读写权限

 

[www.aa.com@ repo]# mkdir webphp          //建立用户存储开发数据的子目录webphp

[www.aa.com@ repo]# svn import webphp file:///opt/svn/repo/webphp/ -m "init web"   //初始化svn目录

 

可以在宿主机上安装SVN的Windows客户端,然后导入代码

svn co svn://192.168.80.181/webphp

 

---------以下内容为扩展-------------------

在win7上安装svn客户端软件:

 

输入svn服务器地址:

 

 

在win7上用记事本写一个网页文件test.html

 

然后把test.html和fruit.jpg文件拖到webphp文件夹中

 

在nginx服务器上进行同步:

[www.ab.com@ ~]# cd /usr/local/nginx/html/

[www.ab.com@ html]# yum install -y subversion-1.7.14-10.el7.x86_64

[www.ab.com@ html]# svn co svn://192.168.80.181/webphp

 

 

在php服务器上进行同步:

[www.ab.com@ ~]# cd /var/www/html/

[www.ab.com@ html]# yum install -y subversion-1.7.14-10.el7.x86_64

[www.ab.com@ html]# svn co svn://192.168.80.181/webphp

 

浏览器访问:http://192.168.80.182/test.html

 

注意:网站开发人员修改网页一般在Windows上操作,修改完成后通过SVN服务器上传nginx和PHP。

---------扩展内容结束-------------

-----2.部署nginx服务器在182主机上,要公网环境-------

[www.ab.com@ ~]# service firewalld stop

[www.ab.com@ ~]# systemctl disable firewalld

[www.ab.com@ ~]# setenforce 0

 

[www.ab.com@ ~]# yum -y install \

pcre-devel \

zlib-devel

 

[www.ab.com@ ~]# useradd -M -s /sbin/nologin nginx

[www.ab.com@ ~]# tar xzvf nginx-1.13.7.tar.gz -C /usr/src/

[www.ab.com@ ~]# cd /usr/src/nginx-1.13.7

 

[www.ab.com@ ~]# ./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module


[www.ab.com@ ~]# make && make install

[www.ab.com@ ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

[www.ab.com@ ~]# nginx -t               //配置文件语法检查

[www.ab.com@ ~]# nginx                //启动服务

[www.ab.com@ ~]# killall -1 nginx         //安全重启

[www.ab.com@ ~]# killall -3 nginx         //停止服务

[www.ab.com@ ~]# vi /etc/init.d/nginx

#!/bin/bash

# chkconfig: 35 99 20

# description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx"

PIDF="/usr/local/nginx/logs/nginx.pid"

case "$1" in

  start)

    $PROG

    ;;

  stop)

    kill -s QUIT $(cat $PIDF)

    ;;

  restart)

    $0 stop

    $0 start

    ;;

  reload)

    kill -s HUP $(cat $PIDF)

    ;;

  *)

        echo "Usage: $0 {start|stop|restart|reload}"

        exit 1

esac

exit 0

[www.ab.com@ ~]# chmod +x /etc/init.d/nginx

[www.ab.com@ ~]# chkconfig --add nginx

[www.ab.com@ ~]# vi /usr/local/nginx/conf/nginx.conf   //配置后端php程序的fastcgi访问接口

user  nginx nginx;

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name  localhost;

        location / {

            root   html/webphp;

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        location ~ \.php$ {              //动态请求给PHP服务器183

            root           /var/www/html/webphp;

            fastcgi_pass   192.168.80.183:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /var/www/html/webphp$fastcgi_script_name;

            include        fastcgi_params;

        }

    }

}

--------编写一个静态页面用于测试---------

[www.ab.com@ ~]# mkdir -p /usr/local/nginx/html/webphp

[www.ab.com@ ~]# vi /usr/local/nginx/html/webphp/index.html

hello! this is nginx provides static pages!

浏览器访问静态页面http://192.168.80.182/index.html

 

-----3.部署PHP服务器在183主机上,要公网环境-------

[www.ac.com@ ~]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

[www.ac.com@ ~]# tar xjvf php-7.1.10.tar.bz2

[www.ac.com@ ~]# cd php-7.1.10

[www.ac.com@ ~]# ./configure \

--prefix=/usr/local/php \

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--enable-fpm \

--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

 

[www.ac.com@ ~]# make && make install

[www.ac.com@ ~]# cp php.ini-development /usr/local/php/lib/php.ini

[www.ac.com@ ~]# vi /usr/local/php/lib/php.ini

mysqli.default_socket = /usr/local/mysql/mysql.sock

date.timezone = Asia/Shanghai

[www.ac.com@ ~]# /usr/local/php/bin/php -m                 //验证安装的模块

-----------配置及优化FPM模块--------

[www.ac.com@ ~]# cd /usr/local/php/etc/

[www.ac.com@ ~]# cp  php-fpm.conf.default php-fpm.conf

[www.ac.com@ ~]# cd /usr/local/php/etc/php-fpm.d/

[www.ac.com@ ~]# cp www.conf.default www.conf

[www.ac.com@ ~]# vi www.conf

192.168.80.183:9000

[www.ac.com@ ~]# cd /usr/local/php/etc/

[www.ac.com@ ~]# vi php-fpm.conf

pid = run/php-fpm.pid

[www.ac.com@ ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini   //启动php-fpm模块

[www.ac.com@ ~]# netstat -anpt | grep 9000

 

[www.ac.com@ ~]# ln -s /usr/local/php/bin/* /usr/local/bin/

[www.ac.com@ ~]# ps aux | grep -c "php-fpm"  //结果

 

-------编写一个动态页面用于测试---------

[www.ac.com@ ~]# mkdir -p /var/www/html/webphp

[www.ac.com@ ~]# vi /var/www/html/webphp/index.php

<?php

phpinfo();

?>

在浏览器里输入nginx服务器的IP 可以访问动态PHP页面

http://192.168.80.182/index.php

 

说明静态网页有nginx服务器处理,动态网页由php服务器处理,实现了动静分离。

 

4.部署MYSQL数据库

PHP程序员需求在MySQL主服务器上新建一个数据库,并使创建PHP程序的用户对数据库有读写权限

 

 

 

 

 

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_861750.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux服务器架设-LAMP网站搭建实例

LAMP网站搭建 任务背景 学院为了扩大学生和教师的交流&#xff0c;准备搭建一个BBS&#xff0c;BBS采用动网论坛&#xff0c;内网采用的IP地址为192.168.1.2&#xff0c;要求服务器满足3000人同时在线访问&#xff0c;只有本学院的成员才可以访问目录/security&#xff0c;本…

卧龙网站更新

做了一天&#xff0c;比以前稍微熟练&#xff0c;事实证明加了版心好看很多&#xff0c;我还有 字体图标&#xff0c;查询图标等细节问题没有搞清楚&#xff0c;还有<a href"#"> 为啥会点不了呢&#xff0c;自学真的好辛苦 看到女朋友做的虾粥给爷整饿了ˋ( ▽…

千锋网站完工!品优购更新

一早上都在跟着做导航栏&#xff0c;虽然看着不咋样&#xff0c;但是确实挺拉跨&#xff0c;反正能做出来效果就行了&#xff01; 然后&#xff01;千锋网站的底部也终于完工&#xff0c;在调整ul>li里面的span和a的距离时&#xff0c;可以把他俩display&#xff1a;bloc…

明孩库网站开头

顶部导航栏害行&#xff0c;做的挺快&#xff0c;也没啥问题。红色导航栏问题多。。 表格&#xff1a;给table和table里的td样式 table ,table td { border:1px solid #ccc; border-collapse:collapse; } 表格有3行每行7个单元格&#xff0c;要给每行th里一个class&#xff0c;…

名孩库网站完成+内核

自习室呆了半天终于做的差不多了&#xff0c;底部导航栏就不写了。 轮播图&#xff0c;要想让小点在轮播图内显示&#xff0c;要给它们的父级盒子相对定位relative ul li imgli ul ol li a href”#img” li ol 盒子里的ul装照片&#xff0c;要让ul里的每个li都有自己的绝对定…

魅族网站开头

今天半日写出来的&#xff0c;感觉好慢&#xff0c;锚点定位真是磨了我好长时间 再再复习一下 1.定位 relative 相对定位 当子级是absolute时&#xff0c;应该给父级一个relative absolute 绝对定位 要有父级&#xff0c;根据父级的定位而定位 fixed 固定定位 固定在某一个位…

你了解SEO中的时效性吗?

你了解SEO中的时效性吗&#xff1f; 本文摘自web前端早读课&#xff0c;侵删。 前言 最近刚好在负责一个新项目&#xff0c;App在还没上线的前提上&#xff0c;PC&#xff0f;WAP可以优先部署相关SEO&#xff0c;这样在后续的推广中得以运用。今日早读文章由腾讯DeepOceanJavin…

修改wordpress地址导致网站无法访问

1、年少无知&#xff0c;修改了wordpress地址&#xff08;URL&#xff09;&#xff0c;发现前台错版了&#xff0c;紧接着&#xff0c;后台无法登陆了。 2、经过咨询和查找&#xff0c;发现解决方案&#xff1a; 3、登陆阿里云服务器&#xff08;我用的阿里云虚拟云主机&…

wordpress网站提速——大幅提高wordpress网站打开速度

说到wordpress网站提速&#xff0c;很多人都会说到一个万年不变的办法&#xff1a;提高服务器配置。 不过&#xff0c;最近做网站的时候做了一个测试对比&#xff1a; 1、在我的网站服务器目录里放了一个html的小页面。尝试打开&#xff0c;发现速度特别快。 2、然后打开网站…

使用Wordpress创建基于MySQL的教育网站(学习笔记2)(技术笔记1)Xampp error1045 解决方案

项目背景、技术栈 这是一个根据甲方需求创建的教育网站 使用XAMPP在MySQL数据库的服务器上架设面向目标客户需求的精美动态教育网站&#xff0c;附件有WP文件、网站演示、甲方需求及网站线框图。使用了Genesis Columns Advanced plugin; Pricing table by Supsystic; Easy Acc…

网站应用和服务器管理(课程总结4)Week12 澳大利亚维多利亚大学VIT1204 Web Application and Server Management

课程描述&#xff1a; Unit description This unit covers all the necessary skills and knowledge required for students to develop and host database driven web applications on a production web server. Students practice key concepts of web development and serve…

使用PHP和NetBeans创建基于XAMPP的动态网页(学习笔记7)(技术笔记7)网站应用和服务器管理 澳大利亚维多利亚大学VIT1204 Web Application and

Assessment 1 - Lab Task 1 您需要在NetBeans中创建一个PHP项目。将项目命名为LabTask1\u s1234567&#xff0c;其中数字表示 您的学生ID。您的任务包括在项目中开发以下PHP文件&#xff1a; index.php header.php footer.php registration_form.php display_data.php validati…

使用PHP和NetBeans创建基于XAMPP的前后端系统(学习笔记8)(技术笔记8)网站应用和服务器管理 澳大利亚维多利亚大学VIT1204 Web Application and

任务背景 作业将基于分配给学生的案例研究。学生需要构建/开发数据库驱动的客户机/服务器web应用程序。作业将由4部分组成。 第1部分将要求您为客户端应用程序构建接口 第2部分将要求您使用OOP方法开发CRUD数据库特性。 第3部分将要求您在客户机/服务器应用程序中设计和实现RE…

食品网站

食品网站&#xff08;陈子龙 2019/4/28&#xff09;食品网站选择有很多种&#xff0c;很多的类型&#xff0c;不一样的风格&#xff0c;食物的颜色不一样&#xff0c;不一样的颜色又代表着不同的含义。颜色有冷色和暖色&#xff0c;冷色是一种让人看到后&#xff0c;感觉比较冷…

食品网站

食品网站 &#xff08;陈子龙 2019/4/16&#xff09; 食品网站选择有很多种&#xff0c;很多的类型&#xff0c;不一样的风格&#xff0c;食物的颜色不一样&#xff0c;不一样的颜色又代表着不同的含义。颜色有冷色和暖色&#xff0c;冷色是一种让人看到后&#xff0c;感觉比较…

后台网站设计

后台网站设计 这是一张我自己设计的金融后台网站的首页&#xff0c;设计这张金融网站首页的时候&#xff0c;我是看了一些其他的金融网站的首页大概的结构信息然后才做出来的一张网站首页。我这张金融网站就是按照这两个金融网站的首页结构做出来的&#xff0c;结合了两张网站…

网站降级优化的原因

网站降级优化的原因 做SEO总是会遇到各种各样的问题&#xff0c;最痛苦的是网站被降级了。如何避免被搜索引擎降级是最常见的话题。搜索引擎算法不断更新&#xff0c;导致网站的整体搜索引擎优化方向面临严峻的评估。 首先&#xff0c;网站搜索引擎优化过度是否会导致功率下降…

SEO优化需求懂得代码常识吗

SEO优化需求懂得代码常识吗 有一个问题常常在网上看到许多人发问&#xff1a;SEO优化需求学习代码吗?下面环绕这个问题&#xff0c;小编来为咱们找到适宜的答案&#xff0c;究竟是否需求学习呢? 究竟SEO需不需求懂代码&#xff0c;实际上&#xff0c;没有一个严厉的说法&…

SEO泛目录快速排名技术

SEO泛目录快速排名技术 主要内容 1、黑帽SEO常识讲解 2、老域名选择&#xff08;从年龄、外链、历史&#xff09; 3、网站服务器配置(Centos)【安装宝塔LINUX】 4、塔使用技巧及网站程序安装【基于Z-BLOG】 5、白帽实战误区扫盲 6、网站程序比较&#xff08;dedecms&…

服务器(或本地) Apache2+php7 网站搭建

买了一个服务器 开心, 随用于做网站环境搭建练习 用的是Apache2php7 一、 安装apache2 这个有两种方法: apt 安装 sudo apt-get install apache2 安装后的配置文件位置在 /ect/httpd/conf下, 手动编译安装 这个比较好玩, 能学到东西, 重点演示这个方法 1. 安装编译运…