在公司内网环境中,搭建一个静态站点,用于保存一些相关知识文档,并通过页面的形式展现出来。静态站点生成器这里我选择的是Hexo(一个基于Node实现的静态博客框架),而Web服务器首选当然是Nginx,简单高效。
1. 安装Nginx
这里我以Windows Server为例,安装非常简单,从官方站点页面下载Nginx软件包。下载完成后,直接解压到本地目录就行了。
打开cmd
,进入Nginx目录,执行命令start nginx
,然后你就可以在任务管理器中看到nginx的进程了。直接访问浏览器http://127.0.0.1
,正常情况下,就能看到Nginx的欢迎界面了。如果不对,90%的可能是因为80端口占用问题,打开配置Nginx配置文件,修改一下默认端口就行了。
2. 配置Nginx
Nginx目录下打开conf/nginx.conf
文件,部分内容如下:
...
server {
listen 8080;
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html;
}
...
如上,将默认80
改成8080
,然后在访问http://127.0.0.1:8080
就OK了。下面location
就是欢迎页面的访问路径,进入Nginx目录下html
目录,可以看到有个index.html
文件,这就是欢迎页面。
那么如何将Hexo静态站点部署在Nginx服务器下呢?
3. 部署静态站点
通过Hexo g
命令生成的静态站点,默认就是Hexo站点目录中的public
文件夹。
将生成好的静态站点(也就是public/
目录),拷贝至Nginx目录下的html
文件夹中。然后修改Nginx配置文件。
...
server {
listen 8080;
server_name 127.0.0.1;
location / {
root html/public;
index index.html;
}
...
只是修改了root
字段为public
目录,其他地方都不变,然后重新加载Nginx,打开cmd
,在Nginx目录下执行nginx -s reload
,重新访问http://127.0.0.1:8080
,就可以看到Hexo静态站点了。这里要注意浏览器缓存的问题
问题
- Hexo其实是提供
hexo s
命令来实时查看访问页面,如果在服务器端启动hexo s
,在浏览器中同样也可以通过服务器IP来访问站点,并且能实时显示当前状态。但是,通过我尝试后发现,hexo s
效率非常低,只能适合在线调试,不适合作为站点访问。 - 更新的时候,需要使用
hexo g
重新生成站点,然后将public
目录拷贝到Nginx目录中html
文件夹下即可。