业精于勤
而荒于嬉

02-搭建宝塔面板

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

一、安装宝塔面板

宝塔面板官方网站

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

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

1.1 安装要求

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

  • 系统兼容性推荐:Centos7.x > Debian10 > Ubuntu 20.04 > Centos8 stream > Ubuntu 18.04 > 其它系统

  • 推荐浏览器:Chrome、火狐、edge,国产浏览器请使用极速模式访问面板登录地址

  • 请在安装面板前确认以下端口服务是否开启,确保安装和访问正常

    • SSH连接端口:22

    • FTP端口:20、21、39000-40000

    网站访问端口:80、443

    • phpmyadmin访问端口:888

1.2 安装宝塔面板

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

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

==================================================================
Congratulations! Installed successfully!
========================面板账户登录信息==========================

 外网面板地址: https://154.204.57.189:30161/7e4d5382
 内网面板地址: https://10.3.69.2:30161/7e4d5382
 username: eaqrws9w
 password: 099b0121

=========================打开面板前请看===========================

 【云服务器】请在安全组放行 30161 端口
 因默认启用自签证书https加密访问,浏览器将提示不安全
 点击【高级】-【继续访问】或【接受风险并继续】访问
 教程:https://www.bt.cn/bbs/thread-117246-1-1.html

==================================================================

宝塔面板交流QQ群:238981538

==================================================================
Time consumed: 8 Minute!

专业版永久授权:

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

1.3 首次登录宝塔面板

云服务器安全组规则放行端口:30161,浏览器访问外网面板地址:https://154.204.57.189:30161/7e4d5382

先进入【面板设置】,修改【面板账号】和【面板密码】。

二、安装 LNMP 套件

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

  • Nginx版本: 1.22
  • MySQL版本: 5.7
  • PHP版本: 7.4
  • Pure-Ftpd版本: 1.0.49
  • phpMyAdmin版本: 5.1

三、配置

  1. 宝塔面板【软件商店】--【MySQL 5.7.44】--【设置】--【mysqld管理】,【性能调整】--【优化方案】选择2-4GB-->【保存】,然后【重启数据库】。

  2. 宝塔面板【数据库】--【root 密码】,修改数据库密码。

  3. 宝塔面板【软件商店】--【phpMyAdmin 5.1】--【设置】--【phpmyadmin 管理】--【服务】页面,关闭启用公共访问权限

  4. 宝塔面板【FTP]--【修改 FTP 端口】为 18921 ,并在【安全】和云服务器安全组规则中放行新端口号18921

  5. 宝塔面板【面板设置】--【安全设置】,绑定域名:bt.imhuangjz.com

  6. 关闭【安全入口】,执行命令:

    rm -f /www/server/panel/data/admin_path.pl
  7. 宝塔面板【软件商店】--【PHP-7.4.33】--【设置】--【安装扩展】中,分别安装fileinfoopcacheimagemagickexif。安装完成后,重启 PHP。

  8. 宝塔面板【监控】--【开启监控】。

  9. 宝塔面板【WAF】--安装【Nginx防火墙】。

  10. 宝塔面板【软件商店】--【PHP-7.4.33】--【设置】,安装【PHP网站安全告警】。然后,点击【设置】--【PHP 模块】,开启 PHP7.4.33的【防护状态】,【首页】中开启【监控开关】。

  11. 宝塔面板【安全】--【SSH 管理】--【基础设置】--【SSH 防爆破】,安装【Fail2ban防爆破】。

    image-20240228002941235

  12. 宝塔面板【计划任务】--【添加计划任务】,添加【任务类型】为释放内存,【执行周期】为每天 1 小时 30 分钟

四、开启面板 SSL

4.1 设置面板SSL

宝塔面板【面板设置】--【安全设置】--【面板SSL配置】,弹出【自定义面板证书】对话框。

开启【面板SSL】,填入域名bt.imhuangjz.com证书的密钥(KEY) 和 证书(PEM格式) ,点击【保存】按钮,然后重启面板

image-20240228022841962

此时,可以使用URL: https://bt.imhuangjz.com:30161 访问宝塔面板。

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

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

4.2.1 创建站点

宝塔面板【网站】--【添加站点】创建一个空站点(无FTP和数据库),该站点域名与宝塔面板绑定的域名相同(都是 bt.imhuangjz.com),PHP版本为纯静态,网站分类选面板

image-20240228044426944

4.2.2 设置站点SSL

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

image-20240228044704035

4.2.3 反向代理

在【反向代理】页面,创建反向代理,【代理名称】随便起,【目标 URL】填入域名+端口号,【发送域名】填入正常访问的域名。然后重启Nginx服务。

image-20240228045046229

现在就可以通过域名且不加端口号访问宝塔面板了。

(废弃)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.
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《02-搭建宝塔面板》
文章链接:https://imhuangjz.com/bt.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。