一,安装 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. 【斜率优化】【P5468】 [NOI2019]回家路线

    Description 给定 \(n\) 点,这 \(n\) 个点由 \(m\) 班列车穿插连结.对于第 \(i\) 班列车,会在 \(p_i\) 时刻从 \(x_i\) 站点出发开向 \(y_i\) ...

  2. Asp.Net Core 2.x 和 3.x WebAPI 使用 Swagger 时 API Controller 控制器 Action 方法 隐藏 hidden 与 and 分组 group

    1.前言 为什么我们要隐藏部分接口? 因为我们在用swagger代替接口的时候,难免有些接口会直观的暴露出来,比如我们结合Consul一起使用的时候,会将健康检查接口以及报警通知接口暴露出来,这些接口 ...

  3. pycharm安装pytorch失败的问题

    在无GPU的情况下,打算安装pytorch跑几个demo练练手,但是pycharm发现总是失败,无法安装成功.错误显示如下: 无奈之下,只能够使用官方推荐的命令pip3安装,命令如下: pip3 in ...

  4. idea导入工程

    idea导入svn中的工程,一般是多模块的工程. 1 在idea中导入一个工程的目录,可以建立对应的文件夹 dy-task ,svn选择对应的分支导入 2 在dy-task同目录下建立其他目录 dy- ...

  5. bolt继承关系和区别

    先上个图:  具体区别: IRichBolt/IBasicBolt 区别IRichBolt和IBasicBolt IRichBolt继承自IBolt和IComponent.IBasicBolt继承自I ...

  6. [转帖]linux find -regex 使用正则表达式

    linux find -regex 使用正则表达式 https://www.cnblogs.com/jiangzhaowei/p/5451173.html find之强大毋庸置疑,此处只是带领大家一窥 ...

  7. c++作业题sin公式

    今日 有一位同样读大一的朋友向我求助有关c++的作业题 他说他的程序逻辑正确 但是结果的精度不对 题目如下: 这是一道看起来十分简单的作业题 我按照要求快速地写了一个版本 不出所料 一样遇到了精度问题 ...

  8. js 数组sort, 多条件排序。

    Array.sort(); sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序. 一般用法:(数组元素从小大进行排序) var a = [9, 6, 5, 7, 11, 5 ...

  9. 一段代码看 Java 引用类型

    Java 中的操作数(不知道叫什么,相对于 bytecode 而言,类似 CPU 的操作码和操作数)分为值类型和引用类型: 值类型就是直接存储最终数值的,如 char, int, float, dou ...

  10. jar包部署脚本

    部署一个名为xxx的jar包,输出到out.log,只需要准备以下脚本start.sh #!/bin/sh echo " =====关闭Java应用======" PROCESS= ...