nginx的安装部署
一、nginx的源码安装
源码安装需要4步configure、make、makeinstall、全局部署。 lftp 172.25.254.250获取nginx压缩包 解压:tar zxf nginx压缩包 1)configure(源码编译) cd nginx压缩包解压后的路径下 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio 发现无法进行,因为源码编译是c语言的,所以此时要下载gcc,来提供源码编译的环境。 yum install gcc -y 之后再编译时,会出现两次报错分别是:1.not found PCRE-devel 2.not found OPENSSL-devel 只需要安装这两个包就可以: yum install pcre-devel yum install openssl-devel 再进行编译后: 出现这个画面,证明编译成功。 2)执行make,makeinstall
cd nginx-1.20.1/objs
ls --> nginx
du -sh nginx
发现nginx这个文件此大小为6M左右。要对他进行瘦身,提高安全性。
cd nginx-1.20.1
make
make install
因为此时还没有作nginx指令的全局部署所,我们要开启服务时,需要到指令存放的路径下才可以开启服务。 cd /usr/local/nginx/sbin ./nginx nginx服务开启成功 netstat -antlp ##查看使用端口中是否有80端口
curl localhost ##查看源码
3)全局部署 全局部署的目的是为了在使用nginx服务相关的指令时,可以在任何环境下使用,不需要再去指定的路径下使用。 cd /usr/local/nginx/sbin ./nginx -s stop ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin 在/usr/local/sbin建立一个在之前使用路径下的nginx指令包的链接。此时就可以全局使用nginx的相关指令 4)提高安全性:压缩nginx包大小,隐藏版本号。 cd nginx-1.20.1/ vim auto/cc/gcc 注释掉:CFLAGS="$CFLAGS -g" cd nginx-1.20.1 vim src/core/nginx.h 删除掉#define NGINX_VER “nginx/” NGINX_VERSION这一行中的NGINX_VERSION。
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio make ##重新进行源码编译,make。 之前查看过objs下nginx文件的大小为6M左右。现在查看发现大小在1M左右。 curl -I localhost
二、nginx的开机自启
1.关闭nginx服务 nginx -s stop 2.编辑服务列表 vim /usr/lib/systemd/system/nginx.service [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target
[Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true
[Install] WantedBy=multi-user.target 开机自启动服务的文件内容,可以去nginx.com上查询到 3.刷新列表,开启服务 systemctl daenon-reload ##刷新服务列表 systemctl enable --now nginx.service ##启动nginx服务
|