刚接触的linux服务器上,nginx配置乱的有点令人发指,就把老的卸载了重新装一下。
卸载
linux有一系列的软件管理器,比如常见的linux下的yum、Ubuntu下的apt-get等等。通过这些软件管理器可以很快的卸载软件,并且不会有文件及配置残留。这里我使用的是yum,命令如下
代码语言:javascript复制yum remove nginx
安装
相比于卸载,安装就相对麻烦了,不过也还好。一步一步来~
1、下载并解压安装包
代码语言:javascript复制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、配置、编译及安装
代码语言:javascript复制./configure
make
make install
3、nginx启动测试
代码语言:javascript复制./nginx -t
出现如下表示配置正常
代码语言:javascript复制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,你可能会碰到如下报错
代码语言:javascript复制nginx: [emerg] unknown directive "ssl"
ssl指令识别不出来?!这是因为默认编译的时候没有加载OpenSSL的相关模块,解决方法如下:
代码语言:javascript复制./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 // 在测试一下
等等吧,直到你真的跑起来你的项目的时候,才算完~~先到这吧