刚接触的linux服务器上,nginx配置乱的有点令人发指,就把老的卸载了重新装一下。

卸载

linux有一系列的软件管理器,比如常见的linux下的yum、Ubuntu下的apt-get等等。通过这些软件管理器可以很快的卸载软件,并且不会有文件及配置残留。这里我使用的是yum,命令如下

yum remove nginx

安装

相比于卸载,安装就相对麻烦了,不过也还好。一步一步来~

1、下载并解压安装包

wget http://nginx.org/download/nginx-1.13.7.tar.gz

tar -xvf nginx-1.13.7.tar.gz

mv  nginx-1.13.7.tar.gz nginx // 重命名成短名字

很多人都说先装依赖,也对,不过也可以放在后面,看报错,需要那个装那个,这样你还能印象深刻点~~
如果想要先安装依赖的话主要有以下四个
gcc、gcc-c++: 主要用来进行编译相关使用
openssl、openssl-devel: 一般当配置https服务的时候就需要这个了
zlib、zlib-devel:主要用于文件的解压缩
pcre、pcre-devel: Nginx的rewrite模块和HTTP核心模块会用到PCRE正则表达式语法
其他的,少了报错再装就行

2、配置、编译及安装

./configure

make

make install

3、nginx启动测试

./nginx -t

出现如下表示配置正常

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

过程中可能会碰到依赖缺失问题,少了就转,yum install XXX,妥妥的。到这配置就结束啦~~~

Naive!!!

以上是“一路顺风”流程。
如果你想要配置一个https的server,你可能会碰到如下报错

nginx: [emerg] unknown directive "ssl"

ssl指令识别不出来?!这是因为默认编译的时候没有加载OpenSSL的相关模块,解决方法如下:

./configure --with-http_ssl_module  // 重新config并指定其他模块http_ssl_module
 
make // 不要make install不要make install不要make install 那就覆盖了

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak // 先将原来的nginx备份想删除也可以

cp objs/nginx /usr/local/nginx/sbin/nginx // objs 目录中是编译后产生的文件

/usr/local/nginx/sbin/nginx -t // 在测试一下

等等吧,直到你真的跑起来你的项目的时候,才算完~~先到这吧