本文阿里云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
三、配置
-
宝塔面板【软件商店】--【MySQL 5.7.44】--【设置】--【mysqld管理】,【性能调整】--【优化方案】选择
2-4GB
-->【保存】,然后【重启数据库】。 -
宝塔面板【数据库】--【root 密码】,修改数据库密码。
-
宝塔面板【软件商店】--【phpMyAdmin 5.1】--【设置】--【phpmyadmin 管理】--【服务】页面,关闭
启用公共访问权限
。 -
宝塔面板【FTP]--【修改 FTP 端口】为
18921
,并在【安全】和云服务器安全组规则中放行新端口号18921
。 -
宝塔面板【面板设置】--【安全设置】,绑定域名:
bt.imhuangjz.com
。 -
关闭【安全入口】,执行命令:
rm -f /www/server/panel/data/admin_path.pl
-
宝塔面板【软件商店】--【PHP-7.4.33】--【设置】--【安装扩展】中,分别安装
fileinfo
、opcache
、imagemagick
、exif
。安装完成后,重启 PHP。 -
宝塔面板【监控】--【开启监控】。
-
宝塔面板【WAF】--安装【Nginx防火墙】。
-
宝塔面板【软件商店】--【PHP-7.4.33】--【设置】,安装【PHP网站安全告警】。然后,点击【设置】--【PHP 模块】,开启 PHP7.4.33的【防护状态】,【首页】中开启【监控开关】。
-
宝塔面板【安全】--【SSH 管理】--【基础设置】--【SSH 防爆破】,安装【Fail2ban防爆破】。
-
宝塔面板【计划任务】--【添加计划任务】,添加【任务类型】为
释放内存
,【执行周期】为每天 1 小时 30 分钟
。
四、开启面板 SSL
4.1 设置面板SSL
宝塔面板【面板设置】--【安全设置】--【面板SSL配置】,弹出【自定义面板证书】对话框。
开启【面板SSL】,填入域名bt.imhuangjz.com
证书的密钥(KEY) 和 证书(PEM格式) ,点击【保存】按钮,然后重启面板。
此时,可以使用URL: https://bt.imhuangjz.com:30161
访问宝塔面板。
4.2 https 无端口号访问宝塔面板
总带一个端口号,还是不方便,下面方法可以通过 Nginx
反向代理隐藏掉宝塔面板的端口号。
4.2.1 创建站点
宝塔面板【网站】--【添加站点】创建一个空站点(无FTP和数据库),该站点域名与宝塔面板绑定的域名相同(都是 bt.imhuangjz.com
),PHP版本为纯静态
,网站分类选面板
。
4.2.2 设置站点SSL
进入新创建站点的【设置】,弹出【站点修改】对话框,使用二级域名的 SSL 证书并【强制HTTPS】访问。
4.2.3 反向代理
在【反向代理】页面,创建反向代理,【代理名称】随便起,【目标 URL】填入域名
+端口号
,【发送域名】填入正常访问的域名。然后重启Nginx服务。
现在就可以通过域名且不加端口号访问宝塔面板了。
(废弃)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.