nginx 安装与卸载

发布时间:2023-04-16 10:30

nginx 安装与卸载
一.安装
尽量先安装gcc
yum install -y gcc gcc-c++
nginx依赖以下模块:
gzip模块需要 zlib 库
rewrite模块需要 pcre 库
ssl 功能需要openssl库

1.1.安装pcre
1.获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本
2.解压缩pcre-xx.tar.gz包。
3.进入解压缩目录,执行./configure。
4.make & make install

1.2.安装openssl
1.获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。2.解压缩openssl-xx.tar.gz包。
3.进入解压缩目录,执行./config。
4. make & make install

1.3.安装zlib
1.获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。
2. 解压缩openssl-xx.tar.gz包。
3. 进入解压缩目录,执行./configure。
4. make & make install

另一种安装方式,指定了目录

$ cd pcre-8.43
$ ./configure --prefix=/home/wlf/pcre
$ make && make install
$ cd …
$ unzip soft/zlib-1.2.11
$ cd zlib-1.2.11
$ ./configure --prefix=/home/wlf/zlib
$ make && make install

1.4.安装nginx

  1.     获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。2.         解压缩nginx-xx.tar.gz包。
    
  2.     进入解压缩目录,执行./configure
    
  3.     make & make install
    

若安装时找不到上述依赖模块,使用–with-openssl=、–with-pcre=、–with-zlib=指定依赖的模块目录。
如已安装过,此处的路径为安装目录;
若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。
eg:

$ ./configure --prefix=/home/wlf/nginx --with-http_stub_status_module --with-pcre=/home/wlf/pcre-8.43 --with-zlib=/home/wlf/zlib-1.2.11
其中参数http_stub_status_module是开启stub_status模块,它主要用于查看Nginx的一些状态信息。后面两个用来指定两个依赖的源码目录.

注意: 如不指定prefix则默认安装在了/usr/local/nginx下,这是root目录,普通用户没有创建文件夹等权限,需要sudo启动,sudo停止

1.5.尚学堂一键安装依赖教程
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
其中没有安装pcre.因为是演示压缩包安装的

1.6.遇到的问题
./configure --prefix=/usr/local/pcre 出现以下错误
configure: error: You need a C++ compiler for C++ support
正解
yum install -y gcc gcc-c++
centos安装nginx 报错:cp: conf/koi-win\' and/usr/local/nginx/conf/koi-win’ are the same file
解决办法 将这一步改一下./configure --prefix=/usr/local/nginx TO./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
$ sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

1报错原因:在linux下,普通用户只能用1024以上的端口,而1024以内的端口只能由root用户才可以使用,所以这里80端口只能由root才能使用。  我们通过vi修改下配置文件conf/nginx.conf,将端口改成8787:

2nginx内核 超过2.1版本以后 出现了能力的说法
我们可以给/usr/local/nginx/sbin/nginx 赋予监听80端口的权限能力
setcap cap_net_bind_service =+ep /usr/local/nginx/sbin/nginx

3 对nginx 脚本文件执行
chown root nginx
chmod u+s nginx

4 还有端口映射
/home/mock/opt/nginx/html/index.html\" is forbidden (13: Permission denied)
解决办法: 启动用户是root而工作用户是nobody

ps aux | grep “nginx: worker process” | awk’{print $1}’[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S1ce1Nlo-1581055541658)(en-resource://database/3037:0)]

1.2将nginx.config的user改为和启动用户一致,命令:vi conf/nginx.conf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1J9y1svG-1581055541664)(en-resource://database/3041:0)]
执行重启 ./nginx -s reload
1.7.常用命令
./nginx 启动
./nginx -s stop 停止
./nginx -s reload 重现加载

二 .卸载
方法1
删除nginx目录即可rm -rf /opt/nginx(rm -rf /usr/local/nginx)
如果配置了自启动,也需要删除
方法2
yum remove nginx

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号