建站教程(2):在Ubuntu上配置Nginx+MySQL+PHP7

本篇教程包含在Ubuntu上配置Nginx+MySQL+PHP7,针对新手,图解教程,搭建个人网站所需坏境与软件,为后期的搭建个人博客或者网站打下基础~

 

购买VPS与域名

本站目前使用的VPS

域名建议购买cn或者com的,如果需要国内备案的话,可以直接在腾讯云买,方便备案(国内的VPS域名必须备案才能使用)。

但是国内价格普遍偏贵,如果你正好不想备案或者想省钱,推荐你去NameSilo购买域名,很便宜(首年5.99刀,续费8.99刀),免费提供信息保密服务:NameSilo域名购买与DNS解析

买好自己的服务器后,可以通过Xshell通过IP和密码登录,连上去后就开始安装环境了~

 

安装Nginx

Ubutun(本教程是基于Ubuntu 16.04)安装nginx还是很简单的,就两句命令(全部root权限):

install nginx

安装好后,可以访问http://xx.xx.xx.xx(或者是你的域名),如果显示下图所示结果,就说明成功了

nginx welcome

 

安装MySQL

还是很简单,一行命令:

输入完之后你会被要求输入root的密码,输完之后就安装成功了:

mysql-root-password

 

安装PHP

安装命令:

 

配置Nginx使用PHP

现在我们已经安装了所有需要的软件,目前要做的是修改Nginx的配置文件来使用PHP processor来处理动态内容。

修改Nginx的server block configuration:

打开应该是这样的:

nginx-default-config

我们需要做如下修改:

  1. 添加index.php作为我们的起始页面;
  2. 修改server_name来指向我们的域名或者是公网IP;
  3. 忽略那些以#开头的行。(原文:For the actual PHP processing, we just need to uncomment a segment of the file that handles PHP requests by removing the pound symbols (#) from in front of each line. This will be the location ~\.php$ location block, the included fastcgi-php.conf snippet, and the socket associated with php-fpm
  4. 用同样的方法忽略.htaccess文件。(原文:We will also uncomment the location block dealing with .htaccess files using the same method. Nginx doesn’t process these files. If any of these files happen to find their way into the document root, they should not be served to visitors.

所以,修改完后我们的配置文件应该是这个样子的:

nginx-default-modified

验证配置文件有没有错误:

如果提示OK则说明配置搞定:

nginx-t

重启Nginx:

 

测试PHP与Nginx有没有集成成功

添加一个info.php:(这里的 /var/www/html/ 对应配置文件中root的路径)

内容为:

访问http://xx.xx.xx.xx/info.php(或者是你的域名),如下图所示则说明全部安装成功~

php-info

 

更多图解适合新手教程请戳:手把手教你搭建自己的个人网站~ :cowboy:

Telegram频道已经开通,关注flyzythink,随手分享正能量,了解VPS优惠与补货
Telegram群组已经开通,加入flyzy小站,FREE TO TALK
QQ群开通:780593286 flyzy小站
点赞
  1. 个人想学习wordpress 建站 关键还是穷 前段时间通过本站 顺利租用了vul的服务器过墙,我想问下如果要搭建个人网站是不是也可以通过那个服务器,不在租用服务器。

  2. Newcomer说道:

    请问我配置好后,从浏览器访问info.php时,没有报错但也没有任何info信息是因为什么呢,是不是info.php文件内写入的php代码和我自己vps上所安装的php版本不匹配呢?

    1. flyzy小站说道:

      你是不是没有保存文件?就算你没有解析成功,也应该有文字显示啊

  3. soul专属mm说道:

    最后验证的时候 打开http://xx.xx.xx.xx/info.php ,没有打开网页 把文件下载下来了 这是什么鬼????

    1. flyzy小站说道:

      那就是你nginx配置php的解析没有配置好,配置完重启nginx了吗?

      1. soul专属mm说道:

        已经好了 谢谢

  4. berg说道:

    老哥问一下,为什么我的按你说的弄得,但最后显示502,而不是PHP的那个界面?

    1. flyzy小站说道:

      502是服务器错误,是不是php没有安装好?或者nginx配置php解析没有配置好

      1. berg说道:

        我有按照你说的,对照了一遍你的php配置,没问题的呀!

        1. 梦secre说道:

          你的这一步解决了吗,怎么解决的

          1. flyzy小站说道:

            看下nginx的日志文件,看看什么错误

  5. East说道:

    安装好nginx后怎么显示那个welcome的界面额。看不懂。。 :cry:

    1. flyzy小站说道:

      直接在浏览器里输入你的域名或者ip就行了

  6. EEE说道:

    info.php. 访问是502 Bad Gateway呢

    1. flyzy小站说道:

      这个我也不清楚你问题是哪里 502是服务器的问题 你自己仔细看下哪一步做错了吧

  7. shangshen说道:

    老哥我整完了结果打开页面还是显示welcome to ngixl

    1. flyzy小站说道:

      后面加/info.php了吗

      1. shangshen说道:

        加了

        1. flyzy小站说道:

          加了怎么可能是welcome,你指向的都不是同一个文件。你把你的域名留下我试试

          1. flyzy小站说道:

            http://www.zhihuifangche.com/info.php,返回的是502 Bad Gateway。你配置有错误,自己检查

          2. shangshen说道:

            好的

  8. 说道:

    验证出现这个怎么整
    nginx: [emerg] open() "/etc/nginx/snippets/fatcgi-php.conf" failed (2: No such file or directory) in /etc/nginx/sites-enabled/default:52
    nginx: configuration file /etc/nginx/nginx.conf test failed

    1. flyzy小站说道:

      fatcgi-php?应该是fastcgi-php.conf才对啊

      1. shangshen说道:

        加了呀

  9. 说道:

    做完了这几步,输入http://xx.xx.xx.xx/info.php,(我的网站地址)显示:网站拒绝了我们的连接请求。

    1. flyzy小站说道:

      直接访问域名可以吗?
      应该是你的nginx配置有问题。用nginx -t命令检查一下

      1. 说道:

        感谢回复,我检查了没问题,我又重新输入apt-get update,显示FATAL -> Failed to fork.能不能重新安装呢,

      2. 说道:

        不知道怎么弄得,成功了 出现了最后的哪个页面

      3. 说道:

        安装MySQL的时候,出现红字 Process: 22309 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
        Failed to start MySQL Community Server.最后显示E: Sub-process /usr/bin/dpkg returned an error code (1)
        是怎么回事?

        1. flyzy小站说道:

          这种问题你问搜索引擎比较好

  10. 某人说道:

    第6个不是很清楚 :smile:

    1. 某人说道:

      不不不是第5个 :razz:

      1. flyzy小站说道:

        修改Nginx配置文件,修改后的配置文件如第二张图所示,修改内容包括上述4点。

        1. 某人说道:

          :evil: 就是改好了怎么确定呢?

          1. flyzy小站说道:

            关注公众号flyzyz小站,回复vim编辑器使用

  11. sawyer说道:

    自己debug了一下,需要把php版本自己改一下,不然找不到路径 502错误
    在修改default那一步

    1. zbx说道:

      怎么改?

  12. 哭哭哭说道:

    购买了国内的域名,在server_name那里写了,但是IP地址的能访问,域名的不能 :cry:

    1. flyzy2005说道:

      你添加DNS解析了吗?要将你的域名解析到你的服务器ip。还有修改配置要重启nginx

  13. subtlyrabbit说道:

    老哥,一直卡在”6.测试PHP与Nginx有没有集成成功“这里 :twisted:
    一直显示Welcome to nginx!而不是那个php :lol: 怎么破?

    1. flyzy2005说道:

      你在后面加/info.php了吗

      1. subtlyrabbit说道:

        /var/www/html/是nginx.conf路径吗 :cry: 不然我好像也没找到它的路径 :cry:

        1. flyzy2005说道:

          不是的。Ubuntu系统下一般来说不需要你改动nginx.conf的。你就根据我教程里的,修改/etc/nginx/sites-available/default这个配置文件就可以了~
          /var/www/html是你nginx对应的网站根目录,也就是你放info.php的地方。说的更通俗一点,以我的网站作为例子,www.flyzy2005.com/info.php其实就是找/var/www/html文件夹下面的info.php这个文件

          1. subtlyrabbit说道:

            博主我都确认前面都一模一样没有问题但还是显示不出来 :lol: 关注了
            不过先祝您新年快乐 :cool: 初一都不忘更

  14. yukisama说道:

    :exclaim: 老哥,依据这个教程一切OK。但在安装php后,配置Nginx执行php一项,在“vim /etc/nginx/sites-available/default”这个指令行,粘贴enter的时候不小心多了一个"\",最后执行命令成了“vim /etc/nginx/sites-available/default\”,然后就完全不一样了。。怎么破?

    1. flyzy2005说道:

      运行vim /etc/nginx/sites-available/default\ 应该是让你再输接下来命令是吧? 就是提示>,你直接输入;或者ctrl+c退出该命令重新输入

      1. yukisama说道:

        :exclaim: 都木有用,好气;能有什么方法把这些删掉重新开始吗?(不摧毁服务器的前提下),因为ss还在里面

        1. flyzy2005说道:

          怎么会 你现在是卡在哪里了?微信公众号截图发给我瞅瞅

          1. yukisama说道:

            23:21已发微信截图 :symbols:

发表评论

电子邮件地址不会被公开。 必填项已用*标注