以下为实测教程,希望能为大家提供帮助,转载请注明出处
ubuntu+apache+mysql+php7
第一、更换apt的源
1、复制原文件备份
sudo cp /etc/apt/source.list /etc/apt/source.list.bak
2、编辑源列表文件
sudo vim /etc/apt/source.list
3、将原来的列表删除,添加如下内容
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
4、运行sudo apt-get update
5、运行sudo apt-get upgrade
第二、安装apache
1、安装Apache 2.4
apt-get install apache2 -y
从系统库中直接安装Apache。
2、运行命令sudo vim /etc/apache2/apache2.conf,修改参数KeepAlive为Off
3、修改mpm_prefork.conf配置
sudo vim /etc/apache2/mods-available/mpm_prefork.conf
设置参数:
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 6
MaxSpareServers 12
MaxRequestWorkers 39
MaxConnectionsPerChild 3000
</IfModule>
4、禁用和启动模块
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo a2enmod rewrite
5、重启Apache
sudo service apache2 restart
第三、配置虚拟主机环境
这里使用的archerwong,请替换成你自己的命名
1、拷贝默认配置文件
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/arhcerwong.conf
2、修改配置文件
/etc/apache2/sites-available/archerwong.conf
开启重写规则等规则并配置站点
<Directory /var/www/blog>
AllowOverride All
Require all granted
</Directory>
<VirtualHost *:80>
ServerName archerwong.blog.com
ServerAlias www.archerwong.blog.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/blog
ErrorLog /var/www/html/archerwong/logs/error.log
CustomLog /var/www/html/archerwong/logs/access.log combined
</VirtualHost>
3、创建需要目录/文件
sudo mkdir -p /var/www/html/archerwong/{public_html,logs}
4、启动站点
sudo a2ensite archerwong.conf
5、禁止默认根目录配置
sudo a2dissite 000-default.conf
6、重启Apache
sudo service apache2 restart
第四、安装MYSQL数据库
1、安装数据库
sudo apt-get install mysql-server
2、配置数据库安全
mysql_secure_installation
根据提示,我们需要清理默认表以及设置数据库的安全。
第五、LAMP编译安装PHP7
1、安装PHP7和响应的扩展
sudo apt-get install php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql
2、安装组件支持
sudo apt-get install php7.0-curl php7.0-json php7.0-cgi
3、配置文件/etc/php/7.0/apache2/php.ini
max_input_time = 30
error_reporting = E_COMPILE_ERROR | E_RECOVERABLE_ERROR | E_ERROR | E_CORE_ERROR
error_log = /var/log/php/error.log
4、创建一个日志目录
sudo mkdir /var/log/php
sudo chown www-data /var/log/php
5、重启Apache
sudo service apache2 restart
工具的选择
1.连接远程服务器使用mac终端
2.filezilla(上传下载文件)
3.navicat(数据库连接)
本地的工具没法连接远程的数据库
首先 , 考虑用户权限问题
下面介绍两种方法,解决这一问题。
1>改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2>授权法
//赋予任何主机访问数据的权限,用户名和密码自己设置
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
//修改生效
mysql>FLUSH PRIVILEGES
还是不成功,然后考虑防火墙问题
本地测试下,在终端中输入
telnet xxx.xxx.xxx.xxx 3306
发现错误提示,尝试修改远程防火墙
sudo ufw allow smtp
sudo ufw status
还是不成功 , 在服务器中输入命令 netstat -ntlp ,查看下发现mysql监听本地
进入/etc/mysql/my.cnf将下面这行注释掉
# bind-address = 127.0.0.1
其他一些配置
开启apache重写规则
ubuntu默认是不开启重写的,开启的方法
sudo a2enmod rewrite //便捷的开发模块方式,不用去修改配置文件
然后再站点配置文件中,注意两块的对应关系
<Directory /var/www/blog>
AllowOverride All
Require all granted
</Directory>
开启php的gd库
首先,apt list php7* 查看有哪些扩展,发现php7.0-gd扩展
apt-get install php7.0-gd
修改php.ini,sudo vim /etc/php/7.0/apache2/php.ini
找到 extension=php_gd2.dll 将前面的;去掉
主要参考:
http://www.laozuo.org/8303.html
- linux学习(二) -- ubuntu下lnmp环境的配置
亲测的教程,,希望能对大家提供些许帮助,转载请注明出处 ubuntu+nginx+mysql+php7 一.安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wge ...
- ubuntu下lamp环境配置及将window代码迁移至linux系统
因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现.所以最近就将自己的代码全部迁移到linux ...
- ubuntu下java环境变量配置
转自:http://blog.csdn.net/tenpage/article/details/7215810 如果是配置java环境,请参照这篇,更简单:在Ubuntu 12.04 LTS上安装JD ...
- Ubuntu 下的环境变量配置
网上很多配置jdk环境变量的方法,但是几乎都会下次重启电脑就失效,或者时不时的失效.下面教你一招 JDK环境变量配置如下: 执行命令sudo gedit /etc/environment,在打开的编辑 ...
- 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建
(1)首先选择一个路径用来存放arm-linux-gcc.我选用的是/home/book,并在以下建立一个目录arm-linux-gcc. (2)利用cp EABI-4.3.3_Emdedsky_20 ...
- Linux学习-基于CentOS7的LAMP环境实现多虚拟主机
一.实验环境 系统:CentOS7.6 主机:两台(一台也可以),一台实现apache+php-fpm (192.168.214.17),一台实现mysql服务器 (192.168.214.27) 软 ...
- Ubuntu下LAMP环境配置
接下来是搭建个人学习环境,之前的随笔介绍了个人的网络配置,简单记录一下. 1. 安装apache: apt-get install apache2 2. 安装php5:apt-get install ...
- 【Linux学习】Ubuntu下内核编译(一)
(1)当要运行内核配置时,输入make menuconfig时出现错误 遇到这个问题,主要是以为没有ncurses库,而make menconfig 须要这个库.因此须要安装ncurses或者ncur ...
- 【Linux学习】Ubuntu下 sambaserver搭建
1.安装samba,smbfs 2.配置smb.conf文件 配置文件之前须要先备份一下须要配置的文件(养成好的习惯) 输入命令: 进入到smb.conf文件里,在文件的最后加入下列语句 保存后.退出 ...
随机推荐
- rem媒体查询
@media only screen and (min-width: 1080px), only screen and (min-device-width:1080px) { html,body { ...
- 【经验总结】datagrid锁定列后重新加载时出现错位问题的解决
[问题描述]:有时候datagrid设置了锁定列后,在重新加载datagrid数据时,出现锁定列与非锁定列数据错位的问题,如图: [问题分析]:查看css样式我们发现,锁定的列和非锁定的列属于两个不同 ...
- 【Oracle】曾经的Oracle学习笔记(8-15)ER图,三大范式,数据库字典,视图,索引,序列
一.数据库建模 二.建表 三.数据库字典 四.DML语句 五.视图 六.索引 七.序列 八.DDL语句 Lesson 8 Overview of Data Modeling and Database ...
- MVC 控制器向View传值的三种方法(转)
1.提供视图模型对象 你能把一个对象作为View方法的参数传递给视图. public ViewResult Index() { DateTime date = DateTime.Now; return ...
- java Vamei快速教程04 封装和接口
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型.对 ...
- [VC]线程
是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共 享进程所拥有的全部资源.一个线程可以创建和撤消另一个线 ...
- vuejs组件
<div id='root'> <ul> <todo-item></todo-item> </ul> </div> <sc ...
- Python监控日志中经常访问的ip
一.需求:每分钟检查一次日志文件,如果这一分钟内同一个ip请求次数超过200次,加入黑名单 1.日志文件中,每一行的格式为:XXX.XXX.XXX.XXX - - [04/Jun/2017:05:25 ...
- CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第十节
原文链接 第十节:CUDPP, 强大的数据平行CUDA库Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多 ...
- SAP销售订单屏幕增强行项目屏幕增强
1.在vbap表中 append一个自定义结构,如下图: 2.TCODE:SE80 程序名:SAPMV45A 屏幕:8459 如图: 3.标记增强的屏幕字段 4.屏幕增强的位置 *& ...