以下为实测教程,希望能为大家提供帮助,转载请注明出处
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文件里,在文件的最后加入下列语句 保存后.退出 ...
随机推荐
- python基础-字符串操作
输出高亮 语法: 显示方式.前景色.背景色至少一个存在即可. 显示方式:0(关闭所有效果),1(高亮),4(下划线),5(闪烁),7(反色),8(不可见). 前景色以3开头,背景色以4开头,具体颜 ...
- uvm_analysis_port——TLM1事务级建模方法(二)
UVM中的TLM1端口,第一类是用于uvm_driver 和uvm_sequencer连接端口,第二类是用于其他component之间连接的端口,如uvm_monitor和uvm_scoreboard ...
- JAVA时间加工类
/** * 当天凌晨 */ public static Calendar startOfDay(Calendar c) { if (c == null) { return c; } c.set(Cal ...
- c++ STL deque容器成员函数
deque是双向队列,即可以在头部插入删除,也可以在尾部插入删除.内部并不连续,这一点和vector并不一样.可能第1个元素和第2个元素的地址是不连在一起的.在使用时用it迭代器会安全一点. 这是c+ ...
- WIN7_X64连接远程Oracle数据库
当使用微软提供的驱动:Provider=MSDAORA时,要使用32位的Oracle客户端,不然会报错! 下载:Oracle Database Instant Client 11g x86
- 2013.10.26工作Fighting(1)
1.今天虽然花费了六个小时来解决一个功能,最后用一行代码来搞定了. ----遇到问题,解决的办法总是比问题多. 2.给你分配有难度的任务,应该是激动.这样才能挑战自我,学得到很多兴奋的新东西. --- ...
- 支持无限加载的js图片画廊插件
natural-gallery-js是一款支持无限加载的js图片画廊插件.该js图片画廊支持图片的懒加载,可以对图片进行搜索,分类,还可以以轮播图的方式来展示和切换图片. 使用方法 在页面中引入下面的 ...
- 2017年9月22日作业 c++算术运算符 自增 自减 逻辑运算符 位运算符 条件运算符(三元运算符)
作业1: c++算术运算符试题,分析下面程序的输出结果是什么 //第一个: int x=8999;int value=x*1000/1000; //第二个 int x=8999;int value=x ...
- 处理侧滑返回与 ScrollView 手势冲突
与处理双击.单击手势互斥原则一样: // 手势互斥(侧滑返回手势失效后才响应UITableView的滑动手势) [tableView.panGestureRecognizer requireGestu ...
- react的constructor和super的具体含义和使用
1.constructor( )-----super( )的基本含义 这是ES6对类的默认方法,通过 new 命令生成对象实例时自动调用该方法.并且,该方法是类中必须有的,如果没有显示定义,则会默认添 ...