Linux下搭建个人网站
前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站。前端采用了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下搭建个人网站的更多相关文章
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Linux下搭建JSP环境
Linux下搭建JSP环境 作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linu ...
- 【转】在Linux下搭建Git服务器
在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...
- .Net Core实战教程(一):Linux下搭建项目
.Net Core实战教程(一):Linux下搭建项目 附言 .net core 1.0的时候就开始关注了,一直没有用于项目.真正用于项目我是2.0开始使用的.这几年也总结出一些经验.最近有空就写出来 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建C/C++编程环境
Linux下搭建C/C++编程环境 1.KDevelop下载 wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5. ...
随机推荐
- PDO防sql注入原理分析
使用pdo的预处理方式可以避免sql注入. 在php手册中'PDO--预处理语句与存储过程'下的说明: 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作是想要运行的 SQL 的 ...
- css3 动画效果 定义和绑定执行
首先要定义一个动画效果 keyframes 关键字 这里动画效果执行完毕后 恢复本身的css样式 有的动画效果 移动到位置 要保持 就需要写好css 元素的位置 css里直接写 (这里是一般的 ...
- 在Application中集成Microsoft Translator服务之开发前准备
第一步:准备一个微软账号 要使用Microsoft Translator API需要在Microsoft Azure Marketplace(https://datamarket.azure.com/ ...
- [Redis]发布/订阅
摘要 有这样的一个场景,管理员需要发布一条消息,所有的客户端都要受到通知.然后想到了发布订阅模式.使用redis的发布与订阅实现起来更简单一些,说做就做,这里弄个简单的demo,先模拟下. 核心代码 ...
- hzwer模拟赛 Hzwer的陨石
题目描述 Description 经过不懈的努力,Hzwer召唤了很多陨石.已知Hzwer的地图上共有n个区域,且一开始的时候第i个陨石掉在了第i个区域.有电力喷射背包的ndsf很自豪,他认为搬陨石很 ...
- ASP.NET 系统对象 Request(一)
Request对象 用来获取客户端在请求一个页面或传送一个Form是提供的所有信息.它包括用户的HTTP变量.能够识别的浏览器.存储客户端的Cookie信息和请求地址等. Request对象是Syst ...
- 亲历腾讯WEB前端开发三轮面试经历及面试题
[一面]~=110分钟 2014/09/24 11:20 星期三 进门静坐30分钟做题. 填空题+大题+问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理 延 ...
- Linux C 字符串输入函数 gets()、fgets()、scanf() 详解
一.gets() 函数详解 gets()函数用来从 标准输入设备(键盘)读取字符串直到 回车结束,但回车符('\n')不属于这个字符串. 调用格式为: gets(str); 其中str为字符串变量(字 ...
- 修复 ThinkPHP3.2.3 抛出异常模块的一个BUG,关闭字段缓存功能
使用 ThinkPHP3.2.3 遇到一个奇怪的问题,正式环境上报错,提示 “页面错误!请稍后再试~” 为了查看到底出啥错误,哪里出错,于是在入口文件中加了一段代码,开启调试: defined('AP ...
- poj 1141
简单的dp 忘了\n,调了半天(目测不是第一次了) 直接贴代码: #include<cstdio> #include<cstring> using namespace std; ...