目录
开始前的准备
下载nginx
下载地址:nginx官网下载
将nginx传输到linux服务器,这里我放到了/usr/software/目录下
安装依赖
检查gcc是否安装:
gcc --version
检查g++是否安装:
g++ --version
如若未安装:下载好gcc安装所需的安装包
Linux下nginx安装所需离线依赖包
openssl-1.1.0h.tar.gz
pcre-8.42.tar.gz
pcre2-10.21.tar.gz
zlib-1.2.11.tar.gz
下载地址
安装nginx
使用root用户 cd到nginx安装包路径下
su - root
cd /usr/software/nginx/
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1/
./configure
make
make install
执行./configure的时候会查找依赖,这里显示缺少pcre library
我这里下载了rpm包手动安装
rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm
再次执行./configure,成功
根据安装信息得知nginx安装到了/usr/local/nginx路径下
启动nginx
cd /usr/local/nginx/sbin
./nginx //启动nginx
ps -ef | grep nginx //查看nginx是否启动
如图所示即为启动成功
修改配置
使用如下命令可以修改nginx配置
vim /usr/local/nginx/conf/nginx.conf
这里直接引用配置好的文件,将下面语句写到nginx.conf文件http块里,同时将对应的配置文件放到路径下
include /usr/local/nginx/conf.d/*.conf;
配置文件里写的是server块
配置文件校验
校验配置文件是否正确
cd /usr/local/nginx/sbin
./nginx -t
我这里显示localhost冲突,是因为引入的server和默认的重复了,注掉默认的即可
重启nginx
./nginx -s reload
使用命令可以看到nginx已经在监听80端口
netstat -tunlp
开启防火墙端口
允许访问nginx监听的80端口
systemctl stop firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl start firewalld
firewall-cmd --zone=public --list-ports
nginx自启动
创建nginx.service
vi nginx.service
编辑,这里注意路径要改成nginx安装路径
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network. target remote-fs.target nss -lookup. target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
将nginx.service移动到/usr/lib/systemd/system/目录下
cp ./nginx.service /usr/lib/systemd/system/
重启配置服务
systemctl daemon-reload
停止nginx
./nginx -s stop
使用配置服务启动nginx
systemctl start nginx
查看nginx服务状态
systemctl status nginx
nginx服务成功启动
配置nginx开机自启
systemctl enable nginx
重启查看nginx启动成功,配置开机自启完成