在百度云Ubuntu 服务器(BCC)上搭建 nginx + m
前言:无论是在百度云还是阿里云Linux系统服务器都大同小异。推荐一片文章传送门。这篇文章主要说nginx,用apache的可以到传送门去寻找。注意,ubuntu用apt管理工具,centos是yum管理工具;
一、本地连接你的服务器
购买流程就不说了,我们从你购买完成浏览器并创建好实例
此时你通过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标准界面则成功;
你可以解析几个二级三级域名作为数据库的域名;
纠错连接