平时忙着移动端开发,感觉一直学习各种新的框架和API,对于技术的整体敏感度陷入了瓶颈。所以打算从业务角度出发,搞一个自己用的小产品,来突破一下自己。
之前在本地更新记录文章没什么动力坚持,这次在博客平台更新一下,督促一下自己,顺便把一年多没维护的各种博客捡起来。
一、环境介绍
我们采用的是腾讯云的云服务器,忘记之前是为什么租用的了,总之现在既然有就先用它了吧。
本地PC使用的是windows环境,使用的是mobaxterm,一款windows环境下的免费工具进行连接。
服务器使用CentOs 7,具体配置如下
$cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
$ uname -a
Linux VM-0-9-centos 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ cat /proc/version
Linux version 3.10.0-1127.19.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 25 17:23:54 UTC 2020
二、搭建流程
随便找了一篇文章参考
1. 安装pcre、pcre-devel 等依赖
pcre 简单来说就是一个Perl语言的正则表达式库
pcre-devel 是使用PCRE做二次开发时所需要的开发库,包括头文件等
具体安装方法,使用yum简单安装即可。
$ sudo yum install -y pcre pcre-devel
其他的依赖,腾讯云的服务器初始已经安装了。这里前期准备就完成了。
2. 正式安装nginx
a. 下载nginx安装包。我这里是直接在用户目录下下载了,反正安装包后续还要删除~
wget http://nginx.org/download/nginx-1.9.9.tar.gz
b. 把压缩包解压到usr/local/java
$ tar -zxvf nginx-1.9.9.tar.gz
$ sudo mv nginx-1.9.9 /usr/local/java
c. 到对应目录下进行make编译
$ cd /usr/local/java/
$ ./configure
$ make
$ sudo make install
d. 启动nginx服务
$ sudo ../nginx/sbin/nginx
e. 检查nginx服务
ps -ef | grep nginx
root 21058 1 0 00:44 ? 00:00:00 nginx: master process ../nginx/sbin/nginx
nobody 21059 21058 0 00:44 ? 00:00:00 nginx: worker process
issane 21102 16428 0 00:44 pts/2 00:00:00 grep --color=auto nginx
至此,安装成功,通过浏览器也能够正常访问nginx的欢迎页面了。
3. 配置静态链接
为了能够使用nginx进行代理,访问到本地的localhost对应的静态web页进行测试,我们需要先理解nginx的config文件含义。找到了一篇教程——《nginx.config详解》,参考着进行配置修改。
这里只要照着链接,简单的将80端口对应的server,定位到自己写的路径下就行了。可以是相对路径也可以是绝对路径。
本来想定位到workspace工作区的web项目中,不过维护简单起见,暂时都放到nginx安装目录下的html目录下了。
哦对了,需要注意的是,不要忘了在修改完配置之后重启一下nginx服务。
启动
$ ./nginx
检查 nginx.conf配置文件
$ ./nginx -t
重启
$ ./nginx -s reload
停止
$ ./nginx -s stop
4. 解决中文乱码的问题
简单写一个html文件,如果使用了中文,由于没有制定编码,肯定是会乱码的。
同样找了一篇博客 《CentOS访问中文html出现乱码》先试一下。
主要还是使用yum 下载依赖
$ sudo yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common
随后在html上补充好content-type
不需要重启nginx 刷新即可。
刷新浏览器页面,发现乱码的问题就不会再出现了。
三、后续开发准备
我使用的是腾讯云的服务器,似乎默认没有支持rz 和 sz命令。为了相关支持,我也先随便找了一篇博客 《 腾讯云配置(一) —— 使用 rz 和 sz 命令上传与下载》。
试了一下 感觉前面的应该是有问题 发现MobaXterm的 sz 和 rz 指令都会卡住;搜了很多知乎和博客的文章,都说这时候再在命令行上右键菜单中选择 【send file using Z-modem】即可 。 尝试了多次都无果。
最后发现MobaXterm的左侧 sftp面板可以简单直接的上传和下载文件...白卡了这么久。
so,到目前为止,前置准备就基本上完成了,这篇文章也终于不用继续编辑了。后续的开发会以新文章的形式进行记录。