你好,朋友们。
在之前的文章中,我们已经分享了很多与应用部署相关的话题,比如:前端分离的项目、各种静态博客框架、自建知识库网站等等。
谈个人网站建设,静态网站有明显的优势,即速度快、成本低,但也有明显的劣势,如功能单一,有时不够灵活。众所周知,WordPress是一款应用广泛的建站工具,但是今天我们不用这个,而是选择了另一款价值更高的建站神器。
所以本文将从0到1部署一个价值更高的公网动态个人网站,操作简单,价值高,5分钟就能搞定!
但是在这之前,我们要做一些前期工作,准备一些小材料。
公网服务器+公网IP个人使用,一般没人会买真正的物理服务器。现在常见的选择自然是云主机,而且一般都自带一个公有IP,使用起来非常方便。
后面我们会一步步展示,从购买云服务器开始。
服务器连接与管理好的,有了服务器之后怎么远程管理?如何操作服务器?如何与文件交互?
这时,你需要一些服务器连接和管理软件。常用的有两种:
第一个是SSH工具。
简单理解,这是一个终端工具,通过它我们可以连接服务器,键入命令。如果是macOS平台,像SecureCRT、Terminus、Tabby等工具。都很常见:
而如果是Windows系统,常见的像MobaXterm,XShell,FinalShell,Tabby等。也可以处理。
第二个工具是SFTP工具。
简单的理解,通过它你可以轻松的上传或下载文件到服务器。macOS下的一个经典工具是Tansmit:
同理,如果是Windows系统,MobaXterm、Tabby、FileZilla等软件。也能搞定一切。
服务器常用编程环境+软件设施安装部署其实服务器就跟电脑一样。当你拿到一个新的服务器,也要在上面安装软件和环境,比如Python环境,Java环境,Node环境,MySQL,Redis,Nginx,Maven等等。这些是服务器上的基本软件环境和设施。
提前安装好软件,准备好环境,以后就可以用了,非常方便!
关于这部分,我们之前在这里分享过一个PDF版本的手册《服务器编程环境的安装+软件设施的部署》。
。应该说这是一个每一个细节都很PDF的文档。,把常见编程环境和基础软件设施的安装过程给详细地记录下来了。这样大家以后在装环境的时候,就不用漫天去找各种博客、帖子参考了。如果需要本PDF文档手册的朋友,请转发本文后私信【612】三个数字即可无偿获取了准备网站源代码或安装包的最后一步是准备网站源代码,或者编译打包好的jar包,部署到已经准备好环境的服务器上。谈动态个人网站或者博客,对比了一堆建站系统,发现Halo应该是价值更高的那个!而且还是开源的。我已经整理好了所有的代码。有需要的同学直接发私信[晕]
四个字母即可而且更新了这么多年,部署超级简单,文档全面。看过源代码的朋友应该知道,在源代码中也是非常容易理解的,也算是初学者学习和练手的好项目。用于个人建站和对外展示都是非常不错的。
在这个地方,我们提前下载了个人网站的“安装包+主题包”。
下面就来部署一下,成为一个站。
购买公网服务器因为我自己已经有几个云服务器,但是它们都在上面运行不同的服务,比如我自己的:
自建的Tiny RSS订阅服务R2Coding知识库网站自建的Git仓库自建的Maven仓库……等等,这些都是在现有服务器上运行的。
所以我这次准备再买一个云服务器来演示。就在最近,我有两个小应用需要部署,所以我就赶上了。
众所周知,现在提供云服务器的厂商太多了:
阿里云华为云百度云腾讯云京东云美团云七牛云滴滴云天翼云小牛云小鸟云...种类繁多,让人眼花缭乱。自己选就好。
注意,本文中使用的云服务器版本是:
CentOS Linux release 7.4.1708 (Core)安装环境由于Halo对服务器环境的要求是需要Java 11环境,所以很简单。一行命令可以在服务器上安装Java环境:
yum install -y java-11-openjdk然后使用以下命令检查安装是否成功:
java -version如果安装成功,将打印类似以下内容的输出:
openjdk version "11.0.14.1" 2022-02-08 LTSOpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)运行网站安装包这一步更简单。使用上面的SFTP工具将网站安装包上传到服务器上的一个文件夹中,然后在命令行中执行以下命令来运行它。
nohup java -jar halo-1.4.17.jar接下来在浏览器中访问:your_ip:8090,会自动跳转到第一个安装向导页面:
设置完成后,再次登录,即可进入网站后台管理页面:
然后你可以在后台添加内容,改变主题,修改素材等等。
比如这个地方,我们在后台写了几篇文章,换了主题之后,网站首页变成了下面这个样子,效果还是可以的。
将应用作为服务运行像上面这样每次都在命令行操作jar包来启动和停止个人网站很不方便,不如做成服务。通过systemctl命令操作更符合人体工程学。
新建一个website.service文件我们准备了一个网站服务文件,内容如下:
[Unit]Description=Personal Website ServiceAfter=network-online.target[Service]Type=simpleExecStart=/usr/bin/java -jar /root/website/halo-1.4.17.jarExecStop=/bin/kill -s QUIT $MAINPIDRestart=alwaysStandOutput=syslogStandError=inherit[Install]WantedBy=multi-user.target这个配置文件的内容非常容易理解。主要是设置ExecStart指向的指令内容,用它来运行和启动个人网站。
然后将它放在服务器的/etc/systemd/system目录中。
重新加载systemdsystemctl daemon-reload启动个人网站systemctl start website关闭个人网站systemctl stop website安装代理服务器一般来说,我们不会让这个jar包启动的8090网站服务直接面对用户,而是在中间再加一层代理服务器进行转发,也就是常用的Nginx服务器。
由于Nginx不仅占用资源少,运行稳定,而且性能高,特别是可以承载并发,所以一般放在最前面直接面对用户。
接下来,安装并部署Nginx服务器。以1.17.10版本为例。
首先准备一个nginx-1.17.10.tar.gz的安装包,这个在下文的素材包里已经打包分享,有需要可以至文末自取。我们将其直接上传到云服务器的root⽬录下即可。在/usr/local/下创建nginx⽂件夹并进⼊cd /usr/local/mkdir nginxcd nginx将Nginx安装包解压到/usr/local/nginx中即可[root@localhost nginx]# tar zxvf /root/nginx-1.17.10.tar.gz -C ./解压缩后,/usr /usr/local/nginx⽬目录中会出现一个nginx-1.17.10的目录。
预先安装额外依赖,比如:yum -y install pcre-develyum -y install openssl openssl-devel接下来编译安装Nginx即可cd nginx-1.17.10./configuremake make install安装后,Nginx叼纸牙的位置位于
/usr/local/nginx/sbin/nginx其配置部分位于:
/usr/local/nginx/conf/nginx.conf启动Nginx您可以直接执行以下命令
[root@localhost sbin]# /usr/local/nginx/sbin/nginx如果想停⽌Nginx服务,可执⾏:/usr/local/nginx/sbin/nginx -s stop如果修改了配置⽂件后想重新加载Nginx,可执⾏:/usr/local/nginx/sbin/nginx -s reload配置代理服务器之前的Nginx服务器安装启动后,接下来我们修改Nginx的配置文件:/usr/local/Nginx/conf/Nginx . conf。
我们可以找到服务器配置,然后做如下配置。
# 新增此段upstream配置,代表网站实际启动的服务upstream blog { server 127.0.0.1:8090;}server { listen 80; server_name www.your_domain.com; location / { # 让Nginx服务器代理到上面所定义的实际网站服务upstream proxy_pass http://blog; proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}这个配置的目的很简单,就是代理服务器Nginx可以代理到网站的jar包实际启动的服务。
这时候就可以通过服务器的公共IP直接访问个人网站了。
当然,如果有域名的话,把域名解析到公有IP会有帮助。
接下来写东西或者管理网站都很方便。
至于网站本身的各种功能,有需要的朋友可以尽情折腾自己。
后 记综上所述,从初始化到网站上线,整个操作非常简单,几分钟就能搞定。
另外,本文使用的所有离线文件,如服务器、博客、文档、安装包、PDF手册等。,在这里以统一的方式组织起来。需要转发本文后私信的同学[612]
三个数字即可无偿获取所以这篇文章到此为止。下一集再见。