1. 安装
1.1 安装和配置 nginx
安装:
sudo apt-get update
sudo apt-get install nginx
配置:
// 切换目录
cd /etc/nginx/sites-available
// 修改前先备份 default
sudo cp default default.bak
// 编辑配置文件
sudo vim default
修改配置文件为 (http 版本):
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
}
第一部分打开 gzip,gzip 是用于页面数据压缩,可以提高页面加载速度。
第二部分是匹配所有规则,并 rewrite 到主页。
第三部分是匹配 php,使用服务器来解释。
1.2 安装 mysql
sudo apt-get install mysql-server mysql-client
我的树莓派 raspbian stretch 版本在安装 mysql 时未提示输入密码,且之后普通用户登陆会被拒绝,root 身份可以无密码进入。此问题解决方案:Unable To Access Mysql With Root and No Password After New Install On Ubuntu。
$ sudo mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ sudo /etc/init.d/mysql restart
mysql 远程访问见 阿里云ubuntu16.04搭建wordpress 2.3。不过配置文件是 /etc/mysql/mariadb.conf.d/50-server.cnf
1.3 安装 php7
sudo apt-get install php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi
1.4 安装 phpmyadmin
sudo apt-get install phpmyadmin
期间 phpmyadmin 弹出的窗口会让你选择是 apache2 还是 lightffpd,按 Tab
跳过。其他所有地方都是点 Yes 即可。
安装如果出现 An error occurred while installing the database: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) . Your options are… ,解决办法之一是先去掉数据库root的密码,再安装phpmyadmin,最后再运行mysql_secure_installation 来重设密码。参考自 phpmyadmin-installation-error-1045。代码如下:
$ mysql -uroot -p # Log into mysql with passwd
mysql> SET PASSWORD FOR root@localhost=PASSWORD('');
$ dpkg-reconfigure phpmyadmin
$ mysql_secure_installation
注意:在执行 mysql_secure_installation 时要注意允许远程访问。
1.5 安装 typecho
wget -c http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar -zxvf 1.1-17.10.30-release.tar.gz
mv build/* /var/www/html
tips:
wget -c
下载文件的工具,参数-c
断点传续。
然后浏览器输入 IP 即可安装。
typecho 安装完成后删除 install 目录和 install.php 文件。
2. 安全防护
2.1 后台地址改变
将admin
文件夹改名,改成你需要的例如abc
,然后找到config.inc.php
文件,将里面的admin
改成abc
即可,以后要登录后台访问domain.com/abc/
即可。
3. 内网穿透
官网:Sunny-Ngrok
官方文档:Sunny-Ngrok使用教程
推荐理由:使用简单 (一条命令),且免费。