nginx的安装部署
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服务