搭建Ubuntu+Nginx+MySQL+PHP7环境

环境安装

教程参考https://segmentfault.com/a/1190000013035065

安装Nginx

1
2
apt-get update
apt-get install nginx

安装好后访问本地IP(或域名)

安装MySQL

1
apt-get install mysql-server

安装过程会提示输入root密码

安装PHP7

1
apt-get install php-fpm php-mysql

配置修改

修改Nginx的配置文件中的server配置:

1
vim /etc/nginx/sites-available/default
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html; # 这里需要添加一个index.php

server_name 10.128.2.55; # 本机IP地址

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.php;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}

重启服务

1
/etc/init.d/nginx restart

测试PHP与Nginx有没有集成成功(路径是在之前nginx配置文件中的”root /var/ww/html;”)

1
vim /var/www/html/info.php

内容为

1
2
3
<?php
phpinfo();
?>

再次访问,看到php信息则访问成功

wordpress部署

下载最新版

1
wget http://wordpress.org/latest.tar.gz

命令行下载较慢,可以直接打开连接下载,然后传到服务器上

解压

1
tar -xzvf latest.tar.gz

创建wordpress需要用到的数据库和用户

1
mysql -u root -p # 然后输入之前设置的密码
1
2
3
4
5
6
7
8
9
10
# 创建数据库:
CREATE DATABASE wordpress;
# 创建用户:
CREATE USER wordpress@localhost;
# 设置密码:
SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");
# 配置权限:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'your password';
# 刷新权限配置:
FLUSH PRIVILEGES;

配置WordPress

重命名示例文件wp-config(此处的路径/root/wordpress对应你自己的存放路径)

1
mv /root/wordpress/wp-config-sample.php /root/wordpress/wp-config.php

修改的内容包括DB_NAME,DB_USER,DB_PASSWORD,如果数据库不在本地则修改DB_HOST

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ** 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', 'wordpress');

/** MySQL database password */
define('DB_PASSWORD', '123456');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

配置Nginx

将wordpress内容全部拷贝到之前的html路径下

1
cp -r /root/wordpress/* /var/www/html

修改权限:

1
chown -R www-data:www-data /var/www/html

重启Nginx服务:

1
/etc/init.d/nginx restart

安装WordPress

访问IP

选择语言->设置标题与管理员用户名与密码以及电子邮件->安装WordPress
访问http: //your_ip/wp-login.php ,输入刚才的用户名、密码进入后台进行管理


wordpress设置

使用的插件

1
2
3
4
Markdown Editor #支持Markdown语法
Restricted Site Access #访问控制,必须先登陆
BackWPup #备份
WP User Avatar #自定义头像,在个人资料中修改

问题解决

修改链接后访问文章404问题

问题描述


解决办法
修改Nginx的配置文件中的server配置
文件绝对路径: /etc/nginx/sites-available/default

1
try_files $uri $uri/ /index.php;

重启服务

1
/etc/init.d/nginx restart

文件上传限制

问题描述
图片文件过大无法上传
解决办法
修改nginx配置文件中的server配置
文件绝对路径: /etc/nginx/sites-available/default
在server中添加:client_max_body_size 20m;

1
2
3
4
server{
client_max_body_size 20m;
...
}

重启服务

1
/etc/init.d/nginx restart

裁剪图片时发生错误

问题描述

解决办法

1
apt-get  install php-gd

远程下终端无法tap补全命令

在远程桌面中设置,打开菜单->设置->窗口管理器,或者在终端中输入xfwm4-settings打开(xfwm4就是xfce4 window manger的缩写)

选择键盘,可以看到窗口快捷键中动作一列有“切换同一应用程序的窗口”选项,将该选项的快捷键清除后关闭窗口即可