LNMP是一组用于搭建网站的开源软件。LNMP代表Linux操作系统、Ngnix HTTP服务器(发音为Engine X)、MariaDB数据库和PHP。在这篇教程中,我将介绍如何在Debian 8 服务器上安装LNMP。数据库选择MariaDB. 以下命令在Debian服务器上执行。
添加源
将以下源添加进etc/apt/sources.list文件中
deb http://ftp.debian.org/debian/ jessie main deb-src http://ftp.debian.org/debian/ jessie main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main deb http://ftp.debian.org/debian/ jessie-updates main deb-src http://ftp.debian.org/debian/ jessie-updates main deb http://nginx.org/packages/mainline/debian/ jessie nginx deb-src http://nginx.org/packages/mainline/debian/ jessie nginx deb http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/debian jessie main deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all
添加key:
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
更新软件包:
apt-get update
安装Nginx
相对于Apache,Nginx是一个轻量级的高性能web服务器并在近年来越来越流行。Nginx也可以同时作为一个反向代理。在Debian8上安装Nginx, 输入下面的命令。
apt-get install nginx -y
安装完成后,Nginx会自动运行。
service nginx status
查看Nginx版本
nginx -v
在浏览器地址栏中输入Debian服务器的IP, 回车。如果你看到下面的文字,说明Nginx正确地安装好了。
安装MariaDB
MariaDB是MySQL的一个替代品。使用下面的命令安装:
apt-get install -y mariadb-server mariadb-client
在安装过程中会要求你为MariaDB root用户设置一个密码。输入密码后按回车。记住,MariaDB root用户是数据库的管理员,与Linux的root用户是不同的。
再次输入密码并回车。
查看MariaDB版本
mysql --version
运行安全脚本
mysql_secure_installation
输入MariaDB root用户密码。第一个选择n. 然后你可以一路按回车键来回答其他所有的问题。 MariaDB数据库安装完成。
安装PHP
PHP是PHP: Hypertext Preprocessor的递归缩写,它是一个通用的开源的服务端脚本语言。输入下面的命令安装:
apt-get install php-fpm php-mysql php-common php-gd php-json php-cli php-curl php-mbstring
配置Nginx
用你最喜欢的命令行文本编辑器打开/etc/nginx/nginx.conf文件,我用的是vi文本编辑器。
vi /etc/nginx/nginx.conf
第一行user nginx; 将nginx替换为www-data
在这个文件中为找到worker_processes,为它指定一个值,这个值就是服务器CPU的数量。使用下面的命令查看服务器CPU的数量:
lscpu
我的服务器只有一个CPU,所以我将worker_processes的值设为1。
worker_processes 1;
修改/etc/nginx/conf.d/default.conf文件
vi /etc/nginx/conf.d/default.conf
删除原内容,将下面的内容添加到文件中。
server { listen 80; server_name debian.local; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
其中,root /var/www/html; 表示网站的根目录,server_name debian.local 表示Server FQDN. 保存文件并退出文本编辑器。 重启Nginx:
service nginx restart
测试nginx的配置
输入下面的命令以查看nginx的配置中有没有语法错误:
nginx -t
如果没有语法错误,那么命令输出结果如下:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
测试PHP
在网站的根目录下面创建一个testphp.php文件。
vi /var/www/html/testphp.php
在文件中添加如下内容
<?php phpinfo(); ?>
保存文件后退出。在浏览器地址栏输入http://server-ip/testphp.php。将server-ip替换成Debian服务器的IP地址。testphp.php文件中的phpinfo()函数将在浏览器中显示服务器PHP的信息,比如PHP版本,build date。 LNMP安装完成。
关于Wordpress
WordPress是一个免费自由开源的博客平台。在全球流量前1000万的网站中,超过18.9%使用WordPress来搭建网站。这使得WordPress成为最流行的博客系统。
下载并设置WordPress
安装好LEMP后,通过SSH登录Debian 8 。然后输入下面的命令下载WordPress:
wget http://wordpress.org/latest.tar.gz
下载完后,解压安装包:
tar -xzvf latest.tar.gz
解压后,在用户的home目录会生成一个wordpress目录。
为WordPress创建一个数据库和用户
首先输入下面的命令以root用户登录MySQL shell,注意这个root用户是MySQL数据库的root用户,不是Debian系统上的root用户。
mysql -u root -p
这篇教程将创建一个名为wordpress的数据库,你也可以将数据库命名为其他名字,比如wp。在MySQL shell中输入下面的命令,注意不要漏掉分号。如果你漏掉了分号,那么可以在下一行添加分号,再按Enter键。
create database wordpress;
然后为新建的数据库创建一个新的用户。这篇教程创建的用户是wpuser。
create user [email protected];
为新用户设置密码:
set password for [email protected]= password("dbpassword");
赋予用户所有的权限,否则wordpress的安装程序不能启动。
grant all privileges on wordpress.* to [email protected] identified by 'dbpassword';
刷新MySQL
flush privileges;
退出MySQL shell
exit
设置WordPress
我们需要把WordPress的样本配置文件的内容复制到一个新的文件中,然后在新文件中编辑内容。
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
用nano文本编辑器打开新文件wp-config.php,你也可以用vim文本编辑器。
nano ~/wordpress/wp-config.php
在wp-config.php文件中找到如下内容,根据之前的自己的设置修改文件中的数据库名、用户名和密码。
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'wpuser'); /** MySQL database password */ define('DB_PASSWORD', 'dbpassword');
保存文件后退出nano文本编辑器。
复制文件
将wordpress目录下的所有文件复制到网站根目录:
cp -r ~/wordpress/* /var/www/html/
(如果没有这个文件夹,请在目录下创建)
最后我们需要将网站根目录的所有者更改为nginx用户,否则在wordpress安装主题和插件时会要求你输入FTP用户名和密码。www-data是nginx用户,我们需要将当前用户添加到www-data组中,使当前用户也可以对网站根目录进行读写。输入下面的命令
chown www-data:www-data /var/www/html/ -R usermod -a -G www-data www-data newgrp www-data
安装WordPress
然后在浏览器的地址栏输入 ip/wp-admin/install.php,ip是Debian VPS的IP地址。填写好弹出来的表单。 填写好表单后,wordpress就安装好了。我们现在可以在浏览器地址栏输入Debian VPS的IP地址来访问我们的网站了。