在lamp上简单部署应用程序
前言:上文中,说到了lamp的基本原理,apache与php的三种交互模式,php与mysql(mariadb)的交互,一次完整lamp的请求。
LAMP简单的部署之后,便能够简单的搭建自己的网站。
一:部署wordpress
基于LAMP环境来搭建wordpress。
它是一种使用PHP语言开发的开源博客平台,用户能够在支持PHP与mysql的服务器上架构自己的私有博客。wordpress通俗易懂,支持中文。
1.1添加数据库
mysql>GRANT ALL ON wpdb.*TO ‘wpdb’@‘localhost’ IDENTIFIED BY ‘wpasswd’; #赋予全部权限,并设置密码
mysql>GRANT ALL ON wpdb.*TO ‘wpdb’@‘127.0.0.1’ IDENTIFIED BY ‘wpasswd’;
mysql>GREATE DATABASES wpdb; #创建数据库
mysql>FLUSH PRIVILEGES; #让mysql重读数据库
mysql>exit;
这里有得一说,之所以执行两次GRANT命令是因为,在mysql上用户名是由用户加地址构成了,以上两种方式对于mysql而言是两种不同的方式。
1.2安装配置wordpress
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
unzip wordpress-4.9.-zh_CN.zip #解压
mv wordpress-4.9.-zh_CN.zip /var/www/html #移动到apache目录下
mv /var/www/html/wordpress/wp-config-smple.php /var/www/html/wordpress/wp-config.php #使用模版配置文件
vim /var/www/html/wordpress/wp-config.php
之后进行简易的安装。访问网站
二、部署phpmyadmin。
phpmyadmin是使用PHP语言开发的一种mysql的GUI界面,能够在GUI界面直接进行mysql操作。
部署phpmyadmin也十分的简单。只需到官网下载phpmyadmin,解压即可。
2.1安装php-mbstring
yum -y install php-mbstring
2.2布置phpmyadmin
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.8/phpMyAdmin-4.7.8-all-languages.zip
unzip phpMyAdmin-4.7.8-all-languages.zip
cp -a phpMyAdmin-4.7.8-all-languages.zip /var/www/html
cd /var/www/html
ln -sv phpMyAdmin-4.7.8-all-languages.zip pma #建立链接,在生产环境中才必须,使用连接能在危机时刻回滚会旧版本
cd pma
cp config.sample.inc.php config.inc.php #同样是复制模版,然后修改
vim config.inc.php
phpmyadmin需要一个足够随机的随机数,这里使用创建随机数的方法是从熵池里读取
~]# tr -d 'a-zA-Z0-9' < /dev/urandom | head -30 |md5sum
e764bb8f49ab276bc72910e7e5225023 -
然后你会发现
这是因为php代码的变化,在php5.5之前empty()不能作为函数的返回参数,所以只要修改!empty(@ini_get('mbstring.func_overload')) 可以改成 $mbf = @ini_get('mbstring.func_overload'); !empty($mbf)便能结局问题
马上就会翻车,所以这里不推荐修改,而是使用原来的
其实只要php在5.5以上便没有以上的问题,最好也是直接升级php版本,因为,你马上知道了...重启httpd,然后再访问,emmmm
之后,手动更新php版本,在使用原始的配置文件!empty(@ini_get('mbstring.func_overload'))
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #跟新prm包 yum remove php-common #卸载
yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql
php56w-intl php56w-mbstring #重新安装
重启httpd,再访问
这里有一点说明,也需是我的电脑的问题,反正无论如何设置360急速浏览器都进不了这个页面,所以这里使用了谷歌。还记得phpmyadmin的配置文件吗?其中的一项allownopassword默认是拒绝使用空密码登入
mysql>SET PASSWORD FOR 'root'@'localhost'=PASSWORD('forest’);
mysql>SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('forest’);
mysql>FLUSH PRIVILEGES;
mysql>exit;
当然也是能够更改配置文件,允许空密码登录。
之后创建、修改、删除数据库便能够在此GUI界面完成。
在lamp上简单部署应用程序的更多相关文章
- 编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行
今天主要来说说怎么在Hadoop2.2.0分布式上面运行写好的 Mapreduce 程序. 可以在eclipse写好程序,export或用fatjar打包成jar文件. 先给出这个程序所依赖的Mave ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- IDEA调试服务器上部署的程序
提出问题: 一个程序,部署在自己的电脑上,debug调试,相信大家都会,但是,如果我想debug调试非本地部署的程序怎么办呢.比如测试服务器上部署的程序. 其实这样的需求也是经常有的,比如一个大型的项 ...
- 使用Nginx+uWSGI+Django方法部署Django程序(上)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- weblogic上部署应用程序
weblogic上部署应用程序有三种方法: 一:修改配置文件config.xml在文件中加入如下代码片段: <app-deployment> <name>FAB</nam ...
- 教你一步一步部署.net免费空间OpenShift系列之三------上传ASP.net程序
接上回书,创建应用后,我们如何将自己的ASP.Net部署到应用空间呢,这里用WinSCP的SFTP协议进行上传和下载 上传ASP.net程序 下载WinSCP,并打开PuTTYGen 点击Genera ...
- Glue4Net简单部署基于win服务的Socket程序
smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 Glue4Net简单部署基于win服务的Socket程序 在写一些服务应用的时候经常把要它部署到 ...
- 用python写个简单的小程序,编译成exe跑在win10上
每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...
- 06、部署Spark程序到集群上运行
06.部署Spark程序到集群上运行 6.1 修改程序代码 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址.所以需要修改 ...
随机推荐
- 基于gmap.net制作离线地图下载器
网上已有大量文章介绍gamp.net和离线下载相关的文章了.我就不在介绍gmap相关的文章了,这里着重介绍一下下载相关原理.其实gmap.net本身已自带下载工能,只是离线图片下载到sqlit中,现将 ...
- JavaScript那些事
1.定义静态常量: const C=1; 该常量不能变化的. 2.在if判断中如果是两个变量比较js会将一个字符和一个数字比较的话,会将字符转换成数字然后在对这两个进行对比: var num= ...
- .NET中的按需加载/延迟加载 Lazy<T>
业务场景: 在项目开发中,经常会遇到特定的对象使用的加载问题,有的实例对象我们创建之后并非需要使用,只是根据业务场景来调用,所以可能会导致很多无效的实例加载 延迟初始化出现于.NET 4.0,主要用于 ...
- # C# 如何调用动态连接库?
导入命名空间 using System.Runtime.InteropServices; 把 非托管DLL放入执行程序同级目录,比如 Debug .Release . [DllImport(" ...
- python数据可视化学习1
import matplotlib.pyplot as plt input_values = [1,2,3,4,5] #输入值 squares = [1,4,9,16,25] #输出值 plt.plo ...
- STL中坑爹的max函数
hdu1754永远难忘的痛,参数最好不要传耗时特别长的函数,因为会调用两次,如果是递归的话,不知道多少次呢.. 切记!切记!切记! 例如: //return max(getAns(root<&l ...
- js处理时间戳显示的问题
function getDate(tm){ ); var year = date.getFullYear(); var month = date.getMonth()+1; var day = dat ...
- Redis笔记1-redis的搭建和使用
1. Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: ...
- Storm实践
1.Storm命令 在Linux中观直接输入Storm,不带任何参数信息,可以查看Storm命令. 参考这里 1. activate 激活指定的拓扑Spout.语法:storm activate t ...
- HashMap/HashSet,hashCode,哈希表
hash code.equals和“==”三者的关系 1) 对象相等则hashCode一定相等: 2) hashCode相等对象未必相等. == 是比较地址是否相等,JAVA中声明变量都是引用嘛,不同 ...