在Linux系统中,nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性。我们在日常的开发工作中会经常使用到nginx,所以虽然作为Android开发的我,最近也从后台的角度出发,学习了一下服务器方面的知识,平时没有太多接触过相关Linux服务器的内容,对于简单的语法比较陌生,但是使用起来却感觉得心应手,Linux不愧为程序员的贴心小棉袄呀!难道以后我也要转全栈了吗?嘿嘿。。
话不多说,进入今天的主题!
在Linux系统安装nginx服务基本上需要以下几步:
1)下载nginx安装包
2)解压缩nginx安装包
3)启动nginx服务
4)修改nginx服务配置
具体操作流程如下
一、下载nginx安装包
安装包下载网址:http://nginx.org/en/download.html
二、解压缩nginx-1.16.1.tar.gz
# 使用解压缩命令
tar -xzvf nginx-1.16.1.tar.gz
会在当前目录下生成nginx-1.16.1文件夹
进入nginx-1.16.1文件夹
# 执行安装命令
# 安装到当前目录下
./configure
# 或者安装到指定目录下
./configure --prefix=/usr/local/nginx
之后使用make命令编译Makefile文件中的内容
# 执行编译命令
make
在这里有可能遇到以下类似的问题:
1)make[1]: *** xxx/ngx_event_openssl.o] 错误 1
make[1]: 离开目录“/usr/local/nginx”
make: *** [build] 错误 2
2)make: *** No rule to make target `build', needed by `default'. Stop
出现这种的原因是因为没有安装gcc pcre zlib openssl等几个插件,使用yum或者apt-get命令安装对应的插件
1、GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red
Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)
RedHat中安装GCC:
yum install gcc
Ubuntu中安装GCC:
apt-get install gcc
2、PCRE库(Nginx编译需要PCRE(Perl Compatible Regular
Expression),因为Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码,这正是我们需要的理由。)
RedHat中安装PCRE:
yum install pcre pcre-devel
Ubuntu中安装PCRE:
apt-get install libpcre3 libpcre3-dev
3、zlib库(zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。如同安装PCRE一样,同样需要安装库和它的源代码:zlib和zlib-devel。)
RedHat中安装zlib:
yum install zlib zlib-devel
Ubuntu中安装zlib:
apt-get install zlib1g zlib1g-dev
4、OpenSSL库(在Nginx中,如果服务器提供安全网页时则会用到OpenSSL库,我们需要安装库文件和它的开发安装包(openssl和openssl-devel)。)
RedHat中安装OpenSSL:
yum install openssl openssl-devel
Ubuntu中安装OpenSSL:(注:Ubuntu14.04的仓库中没有发现openssl-dev):
apt-get install openssl openssl-dev
具体操作参考:
咖喱和辣椒的博客
三、启动ngnix服务器
执行命令
# 执行启动服务命令
./usr/local/nginx/sbin/nginx
启动nginx服务器
在浏览器输入对应的网址:
http://localhost:80/或者远程访问http://xxx:80/
显示如下界面:
就代表nginx启动成功了,到这儿也基本上大功告成了!
四、修改配置文件
一般情况下,大家在访问服务器的时候都是通过http://xxx/xxx.html或者https://xxx/xxx.html进行访问的,所以当有多个服务启动的时候需要进行端口的转发
修改nginx解压路径下的xxx/conf/nginx.conf文件,
修改完配置文件,就需要重启nginx服务,使用如下命令操作:
1)杀死重新启动命令:
# 查看进程命令
ps -ef|grep nginx
将nginx的主进程杀死
使用命令:
# 杀死进程命令
kill -QUIT 5869
启动nginx服务,进入nginx/sbin/下执行
# 启动服务命令
./nginx
2)直接重新启动命令:
# 直接启动服务命令
./nginx -s reload
到这儿就可以愉快的使用http或者https对应的默认端口(80/443)进行访问本地其他服务的内容了!