Ubuntu下安装Nginx+PHP+MySql环境

写在之前:

之前腾讯云线下推广的时候给同学们讲过一趟基于ubuntu系统安装WordPress搭建自己的个人博客的课程。最近刚好有个朋友想要学习下ubuntu系统,然后我就把一个闲置的云服务器给她玩,顺手发个她上次讲课时候的教程(教程地址)然而呢,忘记一个问题,我们当时教学用的服务器是14.2的版本,而我给她重装的是,16.04的LST版本。原本的php5也因为apt源的问题无法安装,于是自己度娘加一顿操作,在ubuntu下安装了php7+mysql5.7,顺带把过程记录下来,方便以后查阅。


Step1:提权

首先,当然是 所有的操作当然要在root权限下进行喽 #sudo su


Step2:更新apt源

然后咧,更新apt源,都不想用旧版的软件嘛 #apt-get update


Step3:安装mysql

柿子挑软的捏,先装mysql5.7 #apt-get -y install mysql-server mysql-client 安装没有什么需要特别注意的,中途会询问两次root用户的密码,输入就好了

然后在网上查阅资料,发现为了确保数据库的安全,最好是删除匿名用户和测试数据库 #mysql_secure_installation

输入密码啦,刚刚才设置的,不会忘记了吧! 然后回车,会依次询问你,是否验证密码,设置密码难度等级,是否重置密码,移出匿名用户,是否关闭远程登录,是否删除测试数据库,是否重新加载权重表。 根据自己的情况进行选择,最后出现all done!就OK了!


Step4:安装Nginx

接下来就是安装Nginx喽,Nginx的安装很简单啦,重点在于Nginx的配置这块,这个先不讲,等下安装完PHP之后,一起配置. 当然如果已经安装了Apache2的话,那必须要先删除掉Apache2再安装Nginx,不然会端口冲突的啦,你想想,就那几个门,你走了,别人怎么走。

#service apache2 stop
#update-rc.d -f apache2 remove
#apt-get remove apache2

当然我没有安装Apache2,我是刚刚重装的服务器,上面的代码也是在网上查到的,不知道有没有用(逃

#apt-get -y install nginx

Apt源安装Nginx,然后启动 #service nginx start 这个时候浏览器输入下IP地址,看看Nginx安装好没。


Step5:安装PHP7

这时候要安装PHP啦,但是我们选着安装php7-fpm,那么你要是想问我,什么fpm,为什么不是PHP7呢?这就是因为FPM作为FastCGI进程管理器可以提升性能啦?那FastCGI是什么?好了好了,FastCGI,链接在这里,自己看。 #apt-get -y install php7.0-fpm 这个安装应该是没有什么问题的啦。 下面就是配置喽!


Step6:配置 Nginx

首先(可以不做修改)调整keepalive_timeout到一个合理的值: 打开配置文件 /etc/nginx/nginx.conf

#vim /etc/nginx/nginx.conf

1

keepalive_timeout 2;

噢噢,对了,顺带一提,vim的退出是 :wq 哦.

然后,修改虚拟主机服务器的容器定义,位于/etc/nginx/sites-available/default

#vim /etc/nginx/sites-available/default 把需要修改的地方发上来,修改的方法嘛,把前面的#注释标志删掉就好了

还好吧,是不是很简单!顺带说一下:

  • server_name _;默认捕捉所有虚拟主机
  • 根目录 /var/www/html;意味着文档根目录位于/var/www/html.
  • PHP的重要组成部分位置 ~ \.php$ {} stanza.取消注释它来启用它。

现在保存文件并重新加载nginx: # service nginx reload

然后是php的php.ini配置,就写在一起喽! #vim /etc/php/7.0/fpm/php.ini 设置 cgi.fix_pathinfo=0: 输入 /cgi.fix_pathinfo查询,找到后将值1改为0

当然也要去除前面的注释!!! 重新加载 PHP-FPM: # service php7.0-fpm reload 怎么看PHP是不是跑起来了?HelloWorld?肯定不行,探针走起! # vim /var/www/html/info.php

<?
phpphpinfo();
?>

然后访问ip/info.php


Step7:让 MySQL 获得 PHP 7支持

MySql和PHP的在一起才能跑程序啊,好,下面来撮合他们。 先搜索一下PHP支持的模块: #apt-cache search php7.0 使用下面的命令安装: apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext 上述安装指令源自搜索引擎查询的结果,具体各个模块对应的功能我并未全部了解,有兴趣可以自行搜索。这一步安装的时间稍长,请耐心等待。

APCu是随PHP7 PHP Opcache模块的扩展,它增加了一些兼容性功能的支持APC缓存(例如WordPress的插件缓存)软件。 APCu可以安装如下: #apt-get -y install php-apcu 重新加载 PHP-FPM: #service php7.0-fpm reload

刷新 ip/info.php 浏览器看看模块安装情况:


Step8让 PHP-FPM 使用 TCP 连接

默认情况下PHP-FPM监听 /var/run/php/php7.0-fpm.sock. 另外,也可以使 PHP-FPM 使用 TCP 连接,打开文件 /etc/php/7.0/fpm/pool.d/www.conf…

#vim /etc/php/7.0/fpm/pool.d/www.conf

修改如下:

–用 /listen =查询然后将原有行注释,新增一行。 这将使PHP-FPM端口9000侦听的IP127.0.0.1(本地主机)。请确保您使用的端口,是不是在你的系统上使用。 将Nginx的监听也改成TCP的,不然大家监听的端口都不一样,就不在一个频道了,怎么交流呢?

最后,重新加载nginx:

#service nginx reload

OK,Nginx下的PHP7+MySql5.6安装完成!


测试环境

不能我说装完了就装完了,不还得测试下嘛,来,phpMyAdmin走起!

下载phpMyAdmin

#weget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.tar.gz

解压到目录

#tar -xzf phpMyAdmin-4.6.5.2-all-languages.tar.gz -C /var/www

目录改名

# mv phpMyAdmin-4.6.5.2-all-languages phpMyadmin

赋给权限

#chown -R www-data:www-data /var/www/phpMyadmin

修改Nginx默认站点路径配置

#vim /etc/nginx/sites-available/default

这里我们把站点的根目录设置为 /var/www

但凡改设置都是需要重启服务哒!

#service nginx reload

这个时候输入ip/phpMyadmin 就可以访问phpMyadmin了!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

逻辑性最强的React Native环境搭建与调试

ReactNative系列文章: 1.《逻辑性最强的React Native环境搭建与调试》 2.《ReactNative开发工具有这一篇足矣》 正文 Reac...

29770
来自专栏Android群英传

PWA程序实践

10420
来自专栏FreeBuf

护卫神主机大师提权漏洞利用分析

护卫神·主机大师支持一键安装网站运行环境(IIS+ASP+ASP.net+PHP5.2-5.6+MySQL+FTP+伪静态+PhpMyAdmin),并可在线开设...

31700
来自专栏挖坑填坑

(翻译)开始使用ABP.CORE模板 (ASP.NET Core with Angular)

开始一个新使用Angular和 ASP.NET Core 的ABP项目最简单的方法就是通过官方的模板页面来生成模板。切记包含zero模块。在官网完成创建和下载你...

26320
来自专栏吴伟祥

Linux 远程登录:Xshell、SecureCRT、Putty

       Alt + Enter -- 全屏   Alt + B --打开新的连接   Alt + 1/2/3/4/5.../9 -- 切换到第1/2/...

1.2K20
来自专栏Kubernetes

原 荐 基于Kubernetes的ESaaS

概述 ESaaS(ElasticSearch as a Service)是ElasticSearch on Kubernetes的产品实现,是利用Docker和...

34560
来自专栏区块链

邮箱自身系统安全的防御部署实践

前面几期我们介绍的是发现邮箱安全问题和分析问题,本期我们介绍一下邮箱系统安全防御及加固手段,可以重点解决邮箱系统通用应用漏洞缺陷防护和邮箱反入侵问题。为解决邮箱...

28250
来自专栏FreeBuf

看我如何在渗透测试过程中发现并利用Serv-U漏洞进行操作系统提权

最近,我在做一个外网渗透测试的过程中,发现了SolarWinds文件共享程序Serv-U的一个漏洞,通过该漏洞我获得了Serv-U的管理权限,并能以系统用户身份...

29860
来自专栏魏艾斯博客www.vpsss.net

UPUPW 绿色服务器平台安装使用教程 windows 建站不求人

很多人在使用 Windows 服务器搭建网站,windows 服务器版自带的 IIS 和 asp、php 建站环境搭建起来比较麻烦,于是就有了众多第三方软件。魏...

82530
来自专栏从ORACLE起航,领略精彩的IT技术。

记录一则ASM实例阻塞,rbal进程异常的案例

37090

扫码关注云+社区

领取腾讯云代金券