该文章是群里大佬的投稿,该大佬非常担心面板的安全性,所以花费半天时间写了3个版本的纯命令方式安装网站,不过前2个版本都被删掉,只保留了最后一版本的命令安装教程。如果你目前已经对宝塔或者其他的面板产生了厌恶,那么该教程就非常值得参考了。
不过为了照顾下宝塔用户,本文也教学下如何使用宝塔安装,因为宝塔安装有些许的错误需要自行调整。
宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=
1、项目
该项目是群里大佬@坏小子自己的项目。
网址:https://github.com/ko-crypto/ko-crypto
项目支持PHP7.4及以上版本
2、准备
1)首先你需要准备一台VPS,这个是必须的。这里用的是contabo的VPS:传送门
2)准备一个域名,这也是必须的。
3)你需要用一个ssh工具来连接到你的服务器,比如说xshell或者FinalShell等等。
4)登录ssh之后,你需要输入如下命令行,这里以debian11系统为例,记住,有些命令与ubuntu是不通用的。(每行输入结束后,要按一下回车键,还有,这里的行首开始的英文行都是命令行,但是,有些没有从头、行首开始的英文行,却不是命令行,而是教程的一部分;还有极个别的命令行尾部会有个斜杠\,此行结束后,下面一行或者两行也要复制,也是命令)。
5)教程中的 #号及其后的文字,是可以不用复制的。
3、部署
1)首先可以查询下系统版本号
uname -a #查询版本号
2)安装sudo和lsb-release命令
apt install sudo lsb-release -y #安装sudo和lsb-release命令,LSB 是 Linux Standard Base 的缩写,lsb_release用于显示有关 LSB 和特定版本的信息的命令。
3)更新、升级系统
sudo apt update;sudo apt upgrade -y #更新、升级系统
4)列出所有可更新的软件清单命令等等
lsb_release -a #列出所有可更新的软件清单命令;升级包。这里输入它的目的是看看能否升级系统,用来查询是否有可用的 LSB 模块。
5)安装wget、curl、nano、screen、vim、bash几款重要工具。
sudo apt install wget curl unzip nano screen vim bash -y #安装wget、curl、nano、screen、vim、bash几款重要工具。
6)自动清理未依赖的软件。
sudo apt autoremove -y #自动清理未依赖的软件。
7)拷贝源文件列表
cp /etc/apt/sources.list /etc/apt/sources.list.bak #拷贝源文件列表。
8)由于是debian11系统,默认内核是5.4,足够我们使用了,这里我们就不升级内核了。(升级内核已略)。
9)安装一些主要工具
sudo apt install -y git-core python3-pip python3-setuptools python3-dev build-essential gnupg2 ca-certificates apt-transport-https software-properties-common aria2 snapd tar bzip2 gzip #安装一些主要工具。
10)安装php7.4及套件
sudo apt install php7.4-cli php7.4-xml php7.4-dom php7.4-mbstring php7.4-mysql php7.4-fpm php7.4-gd php7.4-curl php7.4-imagick php7.4-mysql php7.4-common php7.4-zip php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-soap php7.4-gmp php7.4-xmlrpc -y #安装php7.4及套件
11)安装必备组件
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring -y #安装必备组件。
12)导入官方nginx签名密钥
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ #此行是命令行,要复制,下面一行也要复制。 | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null #此行是命令行,要复制。 #导入官方nginx签名密钥,以便apt可以验证软件包的真实性。获取密钥:
13)验证下载的文件是否包含正确的密钥
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg #验证下载的文件是否包含正确的密钥
The output should contain the full fingerprint 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 as follows: pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14] 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid nginx signing key If the fingerprint is different, remove the file. If you would like to use mainline nginx packages, run the following command instead: ##此上几行是返回文字,不需要复制。出现如上信息就对了。
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ #此行是命令行,要复制,下面两行也要复制。 http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \ #此行是命令行,,要复制,下面一行也要复制 | sudo tee /etc/apt/sources.list.d/nginx.list #此行是命令行,切记,要复制。
14)使用主线nginx软件包
sudo apt update #更新系统文件列表。 sudo apt install nginx #安装最新版本的nginx,截止到目前,应该是nginx1.21.6~ nginx -v #查询nginx版本号,应该会出现这个提示:nginx version: nginx/1.21.6 nginx -t #通常会返回如下文字: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok #此行是返回文字,不需要复制。 nginx: configuration file /etc/nginx/nginx.conf test is successful #此行是返回文字,不需要复制。
15)查询nginx状态
sudo nginx -c /etc/nginx/nginx.conf #显示nginx版本并配置选项。 sudo nginx -s reload #重新加载nginx。 sudo systemctl disable --now apache2 #关闭apache。
16)修改conf 配置文件
nano /etc/php/7.4/fpm/pool.d/www.conf #进入此命令后,按ctrl+w,将下列文字复制并粘贴到搜索条内,再按回车。 user = www-data group = www-data pm = dynamic 更改为 static pm.max_children = 5 更改为 pm.max_children = 1 sudo nano /etc/php/7.4/fpm/php.ini file_uploads = On allow_url_fopen = On memory_limit = 128M 更改为 memory_limit = 32M upload_max_filesize = 8196M ;cgi.fix_pathinfo = 1 #去掉这句最前面的分号; max_execution_time = 360 post_max_size = 8M 更改为 post_max_size = 200M date.timezone = America/Los Angeles nano /etc/nginx/nginx.conf user nginx; 更改为 user www-data; sudo systemctl reload php7.4-fpm #重新加载php7.4。 nano /etc/nginx/conf.d/default.conf #配置nginx站点信息。(用上下左右键切换到下列各位置,用del删除键,或者⬅键删除或者更改文字即可)。 server_name yourdomain.com; #这里改为你的?或者子? index index.php index.html index.htm; #这里添加文字index.php location ~ \.php$ { #default_type text/plain; #return 200 $document_root$fastcgi_script_name$request_filename; root /usr/share/nginx/html; #更改为此行文字。 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; #更改为此行文字。 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #更改为此行文字。 include fastcgi_params; fastcgi_intercept_errors on; } #将以上几行命令之前的#号删除,并更改为如上文字,并按ctrl+w,按Y,按回车。
17)配置列表程序
cd /usr/share/nginx #进入此目录 rm -rf * #删除所有旧文件和默认文件。 wget https://github.com/ko-crypto/ko-crypto/archive/refs/heads/main.zip #下载我的源码。 unzip * #解压缩下载的文件。 rm -rf *.zip #删除无用的压缩包。 mv * html #将默认文件改名为html,/usr/share/nginx /html,此即nginx以步进模式安装的默认站点目录。 chown -R www-data:www-data /usr/share/nginx/html/ #给html目录加权限。 ls #查询文件列表。通常情况下,我的源码会出现如下文件名及文件夹列表:Activation Android Documents LICENSE Music PE README.md Windows ag Compressed index.php Linux Office Programs Video #此时,输入你的服务器IP即可出现登录页面,默认密码是Ohyeah,我的代码,你已经可以拿来即用了。不过,现在浏览器可能会警告你的站点不能信任,我们还需要增加ssl认证。 sudo apt update;sudo apt upgrade sudo apt install snapd sudo snap install core; sudo snap refresh core sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot sudo certbot --nginx sudo systemctl stop nginx sudo certbot --nginx sudo nginx -s reload sudo certbot --nginx -v yourname@yourdomain.com Y N 1 sudo certbot renew --dry-run sudo nginx -s reload chown -R www-data:www-data /usr/share/nginx/html/ #输入此组命令,你可以得到一张ssl证书了,去ssllabs.com,正常情况下,你就能得到个A级评分了。 到此,教程结束。(什么,你还没学会?那就买块豆腐,撞一下吧,你会发现不同的自己)。
4、宝塔教程
上面的一堆命令就是为了安装一个php文件,以下简单说下宝塔如何安装。
1)宝塔新建网站,这个略过,之后删除所有的默认文件!!
2)利用宝塔的自带的远程下载,把项目下载到网站根目录。
3)解压之后,复制所有的文件到你的网站根目录
4)浏览器中打开域名,即可看到效果
5)错误修复,宝塔安装后的错误如图:
6)修复错误,在67行的count函数后面加一个(array)即可,注意,两个count()里面都加 ,如图:
5、效果
首次登录会出现登录页面,默认密码是Ohyeah,修改密码就需要编辑index.php这个源文件,改成你需要的即可。
6、最后
以上2中方法任选一个即可,因为只有一个index.php单文件,所以如果用宝塔就是开箱即食了,如果用命令就需要好好学习一番了。
tips:尽量使用php7.4,会安全无错运行,8.0略有兼容性,8.1-8.20目前主动不兼容~