美文网首页
在百度云Ubuntu 服务器(BCC)上搭建 nginx + m

在百度云Ubuntu 服务器(BCC)上搭建 nginx + m

作者: BULL_DEBUG | 来源:发表于2018-11-01 10:19 被阅读187次

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

    一、本地连接你的服务器

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

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

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

    ssh root@218.244.147.196
    

    @ 左边的 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 ngh@218.244.147.196
    

    三、安装nginx

    1.更新源

    sudo apt-get update
    

    2.安装nginx

    sudo apt-get install nginx
    

    3.检查是否安装成功

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

    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
    
    

    添加内容

    <?php
        phpinfo();
    ?>
    
    

    然后访问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标准界面则成功;
    你可以解析几个二级三级域名作为数据库的域名;
    纠错连接

    相关文章

      网友评论

          本文标题:在百度云Ubuntu 服务器(BCC)上搭建 nginx + m

          本文链接:https://www.haomeiwen.com/subject/cbstxqtx.html