在百度云Ubuntu 服务器(BCC)上搭建 nginx + mysql + php-fpm 环境

前言:无论是在百度云还是阿里云Linux系统服务器都大同小异。推荐一片文章传送门。这篇文章主要说nginx,用apache的可以到传送门去寻找。注意,ubuntu用apt管理工具,centos是yum管理工具;

一、本地连接你的服务器

购买流程就不说了,我们从你购买完成浏览器并创建好实例

image.png

此时你通过ip是无法在地址栏访问的, 需要先连接服务器配制环境

远程控制 Linux 类型的系统的服务器,比如 ubuntu 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制。我们需要使用命令行工具,远程连接到服务器,然后使用命令去控制服务器。Windows 用户可以使用 Putty,Mac 用户可以使用系统自带的终端工具。然后用 ssh 命令,连接到你的服务器。像这样:

ssh [email protected]

@ 左边的 root 是连接时使用的用户的名字,@ 右边的数字是你的服务器的 IP 地址。这行命令的意思就是,使用 root 用户,登录到 218.244.147.196 这台服务器上。回车以后,会提示你输入 root 用户的密码(这个密码你可以通过实例自行修改)。

二、添加新用户

添加新用户并分配 Root 权限
为了安全,我们可以单独创建一个平时操作服务器的用户,并且给这个用户分配可以使用 Root 的权限,也就是如果需要 Root 权限,可以在命令的前面加上 sudo 获取到 Root 用户的权限。

添加新用户

比如添加一个名字是ngh 的用户,可以这样:

adduser nhg
设置密码

为用户设置密码:

passwd nhg
分配 Root 权限

让我们新创建的用户拥有 Root 用户的权限,执行:

gpasswd -a nhg wheel

把ngh 这个用户名换成你自己的用户名。

用新用户登录服务器
ssh [email protected]

三、安装nginx

1.更新源

sudo apt-get update

2.安装nginx

sudo apt-get install nginx

3.检查是否安装成功

使用服务器的 IP 地址,若出现Welcome To Nginx则证明安装成功。

在百度云Ubuntu 服务器(BCC)上搭建 nginx + mysql + php-fpm 环境_第1张图片
20150911144903

配置 nginx 虚拟主机

安装完 nginx 以后,第一件想到的事应该就是去创建虚拟主机,虚拟主机允许我们在同一台服务器上运行多个网站,我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。下面来看一下为 nginx 配置虚拟主机。先进入到 nginx 配置文件目录:

cd /etc/nginx/conf.d

创建一个新的配置文件,比如我要为 nhg.com这个主机名创建一个虚拟主机,可以这样:

sudo vim nhg.com.conf

把下面的配置代码放到这个配置文件里:

server {
  listen        80;
  server_name   ngh.com;
  root          /var/www/html/nhg.com;
  index         index.php index.html;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock; ##这块儿注意
    fastcgi_index index.php;
    include fastcgi.conf;
  }
}

上面这个配置文件支持一些的 PHP 应用,比如 WordPress,Drupal,Laravel。第一个 location 区块可以让 PHP 应用支持地址的重写功能,第二个 Location 设置了让虚拟主机可以去处理 PHP 的请求。注意这里用了 include 命令,包含进来一个 fastcgi.conf 文件,你要确定这个文件存在。

你也可能会找到 fastcgi_params 这个文件,如果没有 fastcgi.conf 就把 fastcgi_params 这个文件包含进来,并且在处理 php 的那个 location 区块里再添加一条配置:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

server_name 就是主机名,也就是跟这个虚拟主机绑定在一块儿的域名,我事先把 nhg.com 指向了服务器,这个虚拟主机就是为它准备的,所以,server_name 后面的东西就是 nhg.com 。紧接着 server_name 下面可以是一个 root,就是这个虚拟主机的根目录,也就是网站所在的目录。比如我们要把 nhg.com这个网站的文件放在 /var/www/html/nhg.com 下面,那么这个 root 就是这个路径。

然后去掉 location / 里面的 root 这行代码。再在 index 后面加上一种索引文件名,也就是默认打开的文件,这里要加上一个 index.php ,这样访问 nhg.com 就可以直接打开 root 目录下面的 index.php 了。稍后我们再去安装 php 。

保存一下,按 esc ,输入 :wp(保存并退出)。现在虚拟主机应该就可以使用了。主机的域名是 nhg.com,访问它的时候,打开的是 /var/www/html/nhg.com 这个目录里面的东西,你可以在这个目录下放点东西。

重启 nginx 或者重新加载 nginx 可以让配置文件生效。

sudo service nginx restart

现在,打开浏览器,输入你为虚拟主机设置的域名,看看是否能打开你指定的目录里的东西。
你可以将你的代码放到git,直接git到你的服务器;

四、PHP 7


安装php7.0

$ apt-get -y install php7.0-fpm php-mysql

PHP fix_pathinfo 潜在安全漏洞修复,在/etc/php/7.0/fpm/php.ini中找到

;cgi.fix_pathinfo=1

改为

cgi.fix_pathinfo=0

重启 php

$ sudo systemctl restart php7.0-fpm

在/etc/nginx/sites-available/default 中添加配置

server {
    listen 80;
    listen [::]:80;

    # listen [::]:443 ssl http2;
    # listen 443 ssl http2;

    # include ssl.conf;
    # ssl_certificate /path/to/crt;
    # ssl_certificate_key /path/to/key;

    root /var/www/server_domain_or_IP;
    index index.html index.htm index.php;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ =404;
    }

    location /phpmyadmin {
       index index.php;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; // 这个
    }

    location ~ /\.ht {
        deny all;
    }
}

重启Nginx

$ sudo systemctl restart nginx

测试PHP是否已完成安装配置,编辑/var/www/html/info.php

$ vi /var/www/html/info.php

添加内容



然后访问IP

出现PHP信息则成功

安装 PHP 扩展

为了可以正常运行一般的 PHP 应用,你需要再安装一些其它的 PHP 扩展,通常你在安装 PHP 应用,比如 WordPress,Drupal,Laravel 的时候,都会提示你缺少的 PHP 扩展。下面是一些常用的 PHP 扩展:

sudo  apt-get install php70u-gd  php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml -y

五、安装MySQL

apt-get -y install mysql-server mysql-client

安装时候会出现紫色背景的界面设置MySQL的root账户的密码,建议设置一个复杂的密码

安装完MySQL之后最好运行一次安全配置向导,通过该向导可以检查root账户的密码、禁止MySQL的远程访问、移除匿名用户和测试的数据表等等
安全配置向导命令

mysql_secure_installation

按提示操作即可

安装 phpMyAdmin
通过 phpMyAdmin 可以方便地通过 web 操作 MySQL 数据库,这里同样能用 apt-get 来安装它

apt-get -y install phpmyadmin

安装过程中它会有两个选项问你的web服务器是 Apache 还是 libhttpd ,这里我们两个都不是,随便选一个。

安装好之后,phpMyAdmin 位于 /usr/share/phpmyadmin 目录里,我们配置 nginx 时候只要将一个网站根目录指向这里就可以访问 phpMyAdmin 了,或者我们创建软连接

 ln -s /usr/share/phpmyadmin/  /var/www/phpmyadmin

则配制路径到/var/www/phpmyadmin

重启Nginx

sudo service nginx restart

出现sql标准界面则成功;
你可以解析几个二级三级域名作为数据库的域名;
纠错连接
CentOS7中使用yum安装Nginx的方法
centos 7 升级 git 版本(通过安装 ius 源的方式

你可能感兴趣的:(在百度云Ubuntu 服务器(BCC)上搭建 nginx + mysql + php-fpm 环境)