前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站。前端采用了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. CSS选择器优先级总结

    CSS三大特性-- 继承. 优先级和层叠. 继承:即子类元素继承父类的样式; 优先级:是指不同类别样式的权重比较; 层叠:是说当数量相同时,通过层叠(后者覆盖前者)的样式. css选择符分类 首先来看 ...

  2. html传参数

    var request = { QueryString: function (paramName) { var url = window.location.search; paramValue = & ...

  3. 各大主流.Net的IOC框架性能测试比较

    Autofac下载地址:http://code.google.com/p/autofac/ Castle Windsor下载地址:http://sourceforge.net/projects/cas ...

  4. iframe子页面点击按钮,执行父页面的点击事件

    iframe 子页面点击.parent 父页面  的id(auth-link-btn)的事件 <a href="javascript:void(0);" onclick=&q ...

  5. STL学习之运算符(<<)重载问题和仿函数的实现

    /*   运算符<<的重载一直报错,   友原函数中可以访问到类的私有成员*/#include<iostream>using namespace std; class MyIn ...

  6. Python转码问题的解决方法:UnicodeDecodeError:‘gbk' codec can't decode bytes in position

    在开发过程中遇到了错误:UnicodeDecodeError: ‘gbk' codec can't decode bytes in position 678-679...这是因为遇到了非法字符, 解决 ...

  7. UVa2326

    理解:区域覆盖.注意1,属于的区间有大小颠倒的情况:注意2,看图 ,两排房间公用一条走廊(for instance 1->3  4->6 不可公用) #include<iostrea ...

  8. 孙鑫C++教程留下来的作业--如何让工具栏在原来隐藏的位置出现

    --加油,不仅仅是口号! BEGIN---------------------------------- 将工具栏进行停靠.当隐藏后再次点击出现的时候它出现在工具栏顶部了,并没有停靠在原来的位置,如何 ...

  9. 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)

    感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如有转载,请保留源作者博客信息. Better Me的博客:blog.csdn.net/tantexian 如需 ...

  10. Opera Browser -- Access Restricted Sites using Free VPN /Free VPN Services List

    Opera Browser  -- Access Restricted Sites using Free VPN: currently the feature is available in Oper ...