使用阿里云ECS+OSS图床+宝塔面板 搭建WordPress站点系列之第二篇。

本文阿里云ECS使用的操作系统为 Ubuntu 20.04 64位

一、安装宝塔面板

宝塔面板官方网站

宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。

有30个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。运维要高效,装宝塔。

1.1 安装要求

  • 内存:512M以上,推荐768M以上(纯面板约占系统60M内存)
  • 硬盘:300M以上可用硬盘空间(纯面板约占20M磁盘空间)
  • 系统:CentOS 7.1+ (Ubuntu16.04+.、Debian9.0+),确保是干净的操作系统,没有安装过其它环境带的Apache/Nginx/php/MySQL/pgsql/gitlab/java(已有环境不可安装)
  • 架构:x86_64(主流服务器均是此架构),ARM不完整兼容(面板环境安装慢,部分软件可能安装不上)

宝塔Linux面板7.7.0版本是基于Centos/Debian/Ubuntu开发的,为了最好的兼容性,请使用以上系统

系统兼容性顺序:

Centos7.x > Debian10 > Ubuntu 20.04 > Cenots8.x > Ubuntu 18.04 > 其它系统

提示:Centos官方已宣布在2020年停止对Centos6的维护更新,各大软件开发商也逐渐停止对Centos6的兼容,新服务器不建议使用Centos6。

1.2 放行阿里云安全组端口

如需完整使用宝塔的所有功能,需要放行如下端口:

  • 20 、21、 3900040000端口(linux 系统 ),30004000(windows系统)
  • 22 (SSH)
  • 80443(网站及SSL)
  • 3306 (数据库远程连接)
  • 888 (phpmyadmin)
  • 8888 (宝塔后台面板)

1.3 安装宝塔面板

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

安装成功提示,表示安装完成。

==================================================================
Congratulations! Installed successfully!
==================================================================
外网面板地址: http://39.106.153.68:8888/ea32bd0c
内网面板地址: http://172.26.33.215:8888/ea32bd0c
username: snngkgtn
password: 49b36d9a
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
==================================================================

专业版永久授权:

wget -O updatepro_6.sh http://oss.yuewux.com/updatepro_6.sh && bash updatepro_6.sh

1.4 首次访问宝塔面板

安装成功提示中,浏览器访问外网面板地址: http://39.106.153.68:8888/ea32bd0c

image-20211213104218744

二、安装 LNMP 套件

【软件商店】中依次安装以下必须运行环境程序:

  • Nginx版本: 1.20.0
  • MySQL版本: 5.7.34
  • PHP版本: 7.4
  • Pure-Ftpd版本: 1.0.49
  • phpMyAdmin版本: 5.1

2.1 配置

  1. 宝塔面板【软件商店】–【MySQL 5.7.34】–【设置】–【mysqld管理】,其中,【端口】修改为 13306,【性能调整】–【优化方案】选择2-4GB–>【保存】,然后【重启数据库】。存储位置: /www/server/data 。
  2. 宝塔面板【软件商店】–【宝塔插件】,安装【Fail2ban防爆破 1.7】。然后,在【设置】-【服务保护】中,填入mysql的服务保护。
  3. 宝塔面板【软件商店】–【phpMyAdmin 5.1】–【设置】–【phpmyadmin 管理】–【安全设置】页面,修改默认端口 888 为 10887 并开启 SSL 端口 10888 及密码访问。
  4. 宝塔面板【FTP]–【修改 FTP 端口】为 10021 ,并在【安全】和阿里云安全组规则中放行新端口号10021
  5. 宝塔面板【面板设置】–【设置】中,修改【面板用户】、【面板密码】并绑定域名和宝塔账号。
  6. 宝塔面板【监控】–【开启监控】。
  7. 宝塔面板【计划任务】–【添加计划任务】,添加【任务类型】为释放内存,【执行周期】为每天 1 小时 30 分钟
  8. 宝塔面板【软件商店】–【PHP-7.4】–【设置】–【安装扩展】中,分别安装fileinfoopcacheimagemagickexif
  9. 宝塔面板【数据库】–【root密码】,修改数据库密码,然后点击【提交】。

2.2 Fail2ban 防爆破

宝塔面板【软件商店】–【宝塔插件】,安装【Fail2ban防爆破 1.7】。然后,在【设置】-【服务保护】中,填入mysql的服务保护。

image-20211213133935235

三、绑定域名并开启面板 SSL

3.1 设置域名

【面板设置】-【域名】设置为: bt.ithuang.net 。

保存后,默认跳转到链接http://bt.ithuang.net:21288/login,并提示请使用正确的入口登录面板

image-20211213134111450

这是安全入口导致的,在链接中补全安全入口http://bt.ithuang.net:21288/ea32bd0c/ ,即可重新进入登录页。

3.2 删除安全入口

【面板设置】-【安全入口】-【修改】,删除内容后点击【提交】按钮。

3.3 设置面板SSL

点击【面板SSL】这几个字符,弹出【自定义面板证书】对话框。注意,不是点击开关图标,而是点击面板SSL这几个字~

分别填入域名bt.ithuang.net证书的密钥(KEY) 和 证书(PEM格式) ,点击【保存】按钮,开启【面板SSL】。类型选择【自签证书】,提交。然后重启面板

ssl

此时,可以使用URL: https://bt.ithuang.net:18888 访问宝塔面板。

3.4 https 无端口号访问宝塔面板

总带一个端口号,还是不方便,下面方法可以通过 Nginx 反向代理隐藏掉宝塔面板的端口号。

3.4.1 新建网站分类

新建分类,名称为 面板 。【网站】–【分类:全部分类】–【分类设置】–【网站分类管理】,填写新分类名称面板,然后点击【添加】按钮。

20210517192210

3.4.2 添加站点

宝塔面板【网站】–【添加站点】创建一个空站点(无FTP和数据库),该站点域名与宝塔面板绑定的域名相同(都是 bt.ithuang.net),网站分类选面板

20210517192300

3.4.3 设置新站点

进入新创建站点的【设置】,弹出【站点修改】对话框,使用二级域名的 SSL 证书并【强制HTTPS】访问。

【SSL】-【其他证书】,填入域名bt.ithuang.net证书的密钥(KEY) 和 证书(PEM格式) ,点击【保存】按钮,开启【强制HTTPS】。

image-20211213134626010

3.4.4 隐藏端口号

使用 Nginx 反向代理,隐藏掉宝塔面板的端口号。在【站点修改】对话框 –【配置文件】中的代码修改为:

#PHP-INFO-START  PHP引用配置,可以注释或修改
#SECURITY-START 防盗链配置
location ~ .*.(jpg|jpeg|gif|png|js|css|ico)$
{
    proxy_pass https://bt.ithuang.net:18888;
    expires      30d;
    access_log /dev/null;
    valid_referers none blocked bt.ithuang.net;
    if ($invalid_referer){
       return 404;
    }
}
#SECURITY-END
include enable-php-74.conf;
#PHP-INFO-END

#hjz_20210513 修改图片资源反向代理
location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
{
    proxy_pass https://bt.ithuang.net:18888;
    expires      30d;
    error_log /dev/null;
    access_log /dev/null;
}

#hjz_20210513 修改静态资源反向代理
location ~ .*.(js|css)?$
{
    proxy_pass https://bt.ithuang.net:18888;
    expires      12h;
    error_log /dev/null;
    access_log /dev/null; 
}
#hjz_20200209 反向代理
location / {
    proxy_pass  https://bt.ithuang.net:18888;
    proxy_set_header Host $host:$server_port;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Real-Ip $remote_addr;
    proxy_set_header X-Nginx-Proxy true;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

使用域名 bt.ithuang.net 即可访问宝塔面板,不再需要端口号。

3.4.5 如果Nginx 启动失败

服务器重启时,如果 Nginx 报异常: nginx[888]: Starting nginx... nginx: [emerg] host not found in upstream "bt.ithuang.net"

其实 Nginx 配置语法上没有错误,只是系统无法解析这个域名,所以报错。

解决办法:添加域名解析 DNS 到 /etc/hosts 文件,令系统可以解析该域名即可。

# 修改 hosts 文件
vim /etc/hosts
# 最后一行加入
127.0.0.1    bt.ithuang.net

再次启动 Nginx,即可顺利启动~~

sudo systemctl restart nginx
sudo systemctl status nginx
● nginx.service - LSB: starts the nginx web server
   Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
   Active: active (running) since Mon 2021-12-13 10:39:01 CST; 9min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 24367 ExecStop=/etc/rc.d/init.d/nginx stop (code=exited, status=0/SUCCESS)
  Process: 24375 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=0/SUCCESS)
    Tasks: 4
   Memory: 83.3M
   CGroup: /system.slice/nginx.service
           ├─24377 nginx: master process /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf
           ├─25107 nginx: worker process
           ├─25108 nginx: worker process
           └─25109 nginx: cache manager process

Dec 13 10:39:01 ithuangnet systemd[1]: Starting LSB: starts the nginx web server...
Dec 13 10:39:01 ithuangnet nginx[24375]: Starting nginx...  done
Dec 13 10:39:01 ithuangnet systemd[1]: Started LSB: starts the nginx web server.

发表回复

后才能评论