nginx安装与配置实战(一)

584 阅读2分钟

平时忙着移动端开发,感觉一直学习各种新的框架和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,到目前为止,前置准备就基本上完成了,这篇文章也终于不用继续编辑了。后续的开发会以新文章的形式进行记录。