一,安装 ubuntu 工具

sudo apt install -y git curl zsh vim  

二,安装php 和 php-fpm , redis ,memcached 等

sudo apt install -y  php7.0-dev  php7.-fpm php-redis php-memcached php-solr php-imagick php-mongodb php7.-xml php7.-zip php7.-bcmath php7.-curl php7.-mysql php7.-mbstring php7.-gd

备注:php7.0  就是正常的安装和扩展

php7.0-dev  安装会有 phpize 可用编译swoole

用 php -m 查看扩展

三,安装 composer

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer 

composer config -g repo.packagist composer https://packagist.phpcomposer.com

四,安装 redis

sudo apt install -y redis-server

五,安装 mysql

sudo apt install -y mysql-server-5.7
sudo apt install -y mysql-client

六,远程工具连接 mysql 

cd /etc/mysql
sudo vi my.cnf
底部添加一些内容:
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
bind-address = 0.0.0.0 mysql -u root -p
use mysql
grant all privileges on *.* to root@"%" identified by "passwd" with grant option;
flush privileges;
sudo service mysql restart

GRANT ALL PRIVILEGES ON *.* TO 'root'@'要指定的IP地址' IDENTIFIED BY '设置的密码' WITH GRANT OPTION; 
  也可以先更新将host更新为% ,然后通过图形化界面(SqlYog, workbench 等)来更新host为自己的ip。

继续输入 flush privileges; 记住,不管选用上面那种方法,都要执行这步来更新数据库用户权限。非常重要!

七,有可能是防火墙的原因

查看已有的iptables规则,以序号显示:

iptables -L -n --line-numbers

删除对应的DROP规则:
   iptables -D INPUT 5

八,安装 nginx

sudo apt install -y nginx

九,配置 nginx 和 php-fpm 解析php

vim /etc/nginx/sites-available/default

修改配置文件

server {
listen default_server;
listen [::]: default_server; root /var/www/html; #网站目录
index index.php index.html index.htm index.nginx-debian.html; server_name server_domain_or_IP; #绑定网站域名 location / {
try_files $uri $uri/ /index.php?$query_string; #配置转发规则
} # 解析php
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.-fpm.sock; #利用php-fpm套接字解析php
} location ~ /\.ht {
deny all;
}
} 用 sudo nginx -t 查看 nginx 配置文件是否正确

 配置 php-pfm

vim /etc/php/7.0/fpm/php.ini
找到cgi.fix_pathinfo=,将其改为cgi.fix_pathinfo=

 重启 nginx 和 phpfpm

修改权限 :sudo chown -R  yourname:root /var/www
sudo chmod -R 777 /var/www
sudo service nginx restart
sudo service php7.-fpm restart

网络

网卡1 网络地址转换(NAT)

网卡2 仅主机(Host-Only)网络
sudo apt install -y vim

sudo vim /etc/network/interfaces

使用ifconfig命令查看网卡名称

auto enp0s3
iface enp0s3 inet dhcp auto enp0s8
iface enp0s8 inet static
address 192.168.56.222
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
sudo /etc/init.d/networking restar

ubuntu16安装php开发环境的更多相关文章

  1. 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境

    阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境  优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...

  2. Ubuntu16.04安装后开发环境配置和常用软件安装

    Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...

  3. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

  4. win使用MSYS2安装Qt开发环境

    原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...

  5. Appium移动自动化测试(二)--安装Android开发环境

    继续Appium环境的搭建. 第二节  安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试 ...

  6. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

  7. 如何用docker安装laravel开发环境

    如何用docker安装laravel开发环境 看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但 ...

  8. [树莓派(raspberry pi)] 02、PI3安装openCV开发环境做图像识别(详细版)

    前言 上一篇我们讲了在linux环境下给树莓派安装系统及入门各种资料 ,今天我们更进一步,尝试在PI3上安装openCV开发环境. 博主在做的过程中主要参考一个国外小哥的文章(见最后链接1),不过其教 ...

  9. 一键安装Android开发环境

    一键安装Android开发环境 1 下载tadp-3.0r4-linux-x64.run 进入下面的地址下载: https://developer.nvidia.com/gameworksdownlo ...

随机推荐

  1. 浅谈[0,1]区间内的n个随机实数变量中增加偏序关系类题目的解法

    浅谈[0,1]区间内的n个随机实数变量中增加偏序关系类题目的解法 众所周知,把[0,1]区间内的n个随机.相互独立的实数变量\(x_i\)之间的大小关系写成一个排列\(\{p_i\}\),使得\(\f ...

  2. java连接redis中的数据查、增、改、删操作的方法

    package com.lml.redis; import java.util.HashMap;import java.util.Iterator;import java.util.Map;impor ...

  3. Java 并发系列之一:java 并发体系

    1.  java 并发机制的底层原理实现 1.1 volatile 1.2 synchronized 1.3 原子操作 2. java 内存模型(JMM) 3. java并发基础线程 4. java ...

  4. Python【每日一问】25

    问: [基础题]:利用条件运算符的嵌套来完成此题:学习成绩 >=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示. [提高题]:求 s=a + aa + ...

  5. angualr post 数据请求

    数据请求 post 新建一个服务 1. ng g service services /+服务名  eg:ng g service services/player 在此服务中进行设置 引入自带组件以及注 ...

  6. 竟然重新用回Eclipse,得重新熟悉那些快捷键了!

    自动补全快捷键:补全后半部分,Alt + /:不全等号及等号前半部分(就是返回类型),Ctrl + 1: 未完待续~

  7. MySQL 索引小结

    1.!=.not in 在primary key上使用 !=.not in,explain 的 type 是 range,非primary key是全表扫描(即非主键字段即使有索引也无法应用) 2.a ...

  8. 【转帖】普通程序员如何转向AI方向

    普通程序员如何转向AI方向 https://www.cnblogs.com/subconscious/p/6240151.html 眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智 ...

  9. linux 重启jmeter服务

    #!/bin/bash #jmeter kill and start echo -e '\033[32m--------Jmeter---------------\033[0m' echo " ...

  10. Effective.Java第23-33条(泛型相关)

    23.  类结构层次优于标签类 有时你会碰到一个类,它的实例有一个或多个风格,并且包含一个tag属性表示实例的风格.例如,如下面的类表示一个圆或者矩形: public class Figure { / ...