前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站。前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql。新手第一次在linux下搭建遇见很多问题,在这里分享一下.
搭建网站的准备工作 :

由于我采用的是centos系7.0系统,软件安装采用了yum去安装相应的软件,依次安装了apache,php,以及mysql,

关于版本控制,我使用了github远程仓库,实现代码的同步,将本地代码上传到服务器,然后在centos下通过命令行将代码clone到/var/www/html下。

起初没有经验,将代码从github远程仓库pull下来,在/var/www/html目录下生成了一个PHP目录,然后我将PHP中的个人网站的项目copy到/var/www/html目录,(cp  /var/www/html/PHP/leetao  ./),然后启动了apache,(/etc/init.d/httpd start),之间访问远程服务器公网IP,apache成功启动,然后访问个人网站的主页面:公网IP/leetao/,主页面正常,这个时候我点击注册页面,开始尝试注册,发现出现500 服务器内部错误。然后上网搜了一下相关资料,说是权限问题,及apche对网站根目录只具有读的权限,并不具有写的权限,然后使用chown -R apache:apache /var/www/html (Ubuntu 下apache的默认用户是www-data,可以通过cat /etc/passwd查看)以及chmod 755 /var/www/html 命令修改apache权限。

折腾许久后来调用类方法的中间模块生效了,但是 类方法似乎没有正确执行,也没有返回任何错误,然后用vim打开了类文件,发现问题,在linux下打开类文件,文件出现大量“^M”字样,上网搜索了一下出现这个现象的原因是因为MS-DOS和Windows是回车+换行表示换行,因此在linux下用vim查看会出现"^M"的符号。但是并不是所有文件都出现了这种问题,我在Windows下用notepad打开出现问题以及没有出现问题的两种文件,发现出现问题的文件在notepad右下角格式均为,没有问题的都是。然后尝试使用vi打开文件,然后安Esc键在命令下输入:%s/^V^M/,然而并没有生效,后来自己手动删除"^M",修改完成之后运行程序。

后来后台还是无法执行,然后我在linux下将php的的报错功能打开:用vim打开php.ini配置文件,我的配置文件位于/etc/php.ini,因为php.ini信息比较多,一行一行查找显得不太现实,按Esc键,进入vim命令行模式,通过/words去查找 ,其中对于有很多查找结果的话,按N键,向上查找,按N键显示下一个查找结果,找到指定行。

在linux下将php的的报错功能具体步骤(在/etc/php5/apache2下):
        1.搜索并修改下行,把Off值改成On

display_errors = Off
        2. 搜索下行
            error_reporting = E_ALL & ~E_NOTICE
         或者搜索:
            error_reporting = E_ALL & ~E_DEPRECATED
          修改为    error_reporting = E_ALL | E_STRICT
打开浏览器调试工具,根据错误一一修改了错误,代码问题解决,但之后将代码提交到github过程上,出现了许多新的错误:

Git冲突:commit your changes or stash them before you can merge.

从网上查找解决办法:

第一种:git stash

git pull

git stash pop

然后接下来diff一个此文件看看自动合并的情况,并做成相应的修改。

第二种:简单粗暴的方法:放弃本地修改,直接覆盖

git reset --hard

git pull

补充:

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了

Linux下搭建个人网站的更多相关文章

  1. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  2. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  3. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  4. Linux下搭建JSP环境

    Linux下搭建JSP环境     作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linu ...

  5. 【转】在Linux下搭建Git服务器

    在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...

  6. .Net Core实战教程(一):Linux下搭建项目

    .Net Core实战教程(一):Linux下搭建项目 附言 .net core 1.0的时候就开始关注了,一直没有用于项目.真正用于项目我是2.0开始使用的.这几年也总结出一些经验.最近有空就写出来 ...

  7. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  8. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  9. Linux下搭建C/C++编程环境

    Linux下搭建C/C++编程环境 1.KDevelop下载 wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5. ...

随机推荐

  1. Extjs 学习总结-Ext.define自定义类

    本教程整理了extjs的一些基本概念及其使用,包括自定义类(Ext.define).数据模型.代理等.本节介绍使用Ext.define自定义类 使用Ext.define自定义类 1. 首先看看js中自 ...

  2. python基础知识

    由于python的灵活性,赋值前无需强调变量的数据类型,并且变量的数据类型在后期的操作过程中还可以改变,故不介绍关键字,直接定义方法及可以调用的方法. I  基本数据类型 一.字符串 1.使用单引号或 ...

  3. PHP session

    PHP Session PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置.Session 变量存储单一用户的信息,并且对于应用程序中的 ...

  4. windows环境下面安装Apache2.4+MySql5.7+PHP5.6

    之前学习PHP一致是只用phpStudy集成开发环境,这对于新手而言无疑是帮助极大的,因为傻瓜式安装与使用方法减少了我们很多不必要的麻烦.但是作为一名合格的PHP开发人员,掌握PHP+MySQL+Ap ...

  5. 《征服 C 指针》摘录5:函数形参 和 空的下标运算符[]

    一.函数的形参的声明 C 语言可以像下面这样声明函数的形参: void func(int a[]) {     // ... } 对于这种写法,无论怎么看都好像要向函数的参数传递数组. 可是,在 C ...

  6. H5项目常见问题及注意事项

    Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" content="wi ...

  7. angularjs 弹出框 $modal 参数(转)

    angularjs 弹出框 $modal   $modal只有一个方法:open,该方法的属性有: templateUrl:模态窗口的地址 template:用于显示html标签 scope:一个作用 ...

  8. Visual Studio 的代码片段工具

    当安装完Visual Studio之后,会有附带一些原生的代码片段文件(*.snippet),对于vs2013参考目录如下: X:\Program Files (x86)\Microsoft Visu ...

  9. python 3.x urllib学习

    urllib.request import urllib.request as ur url='http://ie.icoa.cn' user_agent = 'Mozilla/4.0 (compat ...

  10. vmware12 ubuntu14.01桥接模式静态IP上网

    一家之言,希望能帮你解决问题.此处更多为我自留备忘. 环境: win7:机安装支持桥接模式的服务. vmware12 ubutu 14.01 注意事项(此处坑多): 1.networking rest ...