nginx官网下载:http://nginx.org/download/
银河麒麟系统请先检查yum源是否配置,若没有配置请参考:https://qdhhkj.blog.csdn.net/article/details/129680789
一、安装
1、yum安装依赖
yum install gcc gcc-c++ make unzip pcre pcre-devel zlib zlib-devel libxml2 libxml2-devel readline readline-devel ncurses ncurses-devel perl-devel perl-ExtUtils-Embed openssl-devel -y
2、下载安装包
wget -c http://nginx.org/download/nginx-1.16.1.tar.gz # 下载
tar -zxvf nginx-1.16.1.tar.gz # 解压
cd nginx-1.16.1 # 进入解压目录
# 编译安装
./configure
make -j4 && make install
二、启动
useradd nginx # 新增用户
chown nginx:nginx /usr/local/nginx # 给nginx用户开启nginx安装目录权限
cd /usr/local/nginx/sbin/ # 进入ngnix目录
./nginx -v # 查看版本
./nginx # 启动nginx
ps -ef | grep nginx # 查看是否启动成功,显示有两条nginx进程就是启动成功了
在网页访问ip即可出现html欢迎页面:
三、设置开机自启动
1、新建nginx.service
手动创建文件,创建目录:/usr/lib/systemd/system/(有的系统创建目录:/lib/systemd/system/):
vim /usr/lib/systemd/system/nginx.service(按i编辑,:wq保存退出)
添加如下内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置,启动、重启、停止命令全部要求使用绝对路径
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
2、加入开机启动:
systemctl enable nginx # 设置开机启动
设置开机启动如果报错:Failed to enable unit: Unit file nginx.service does not exist. 就把nginx.service换另外一个目录( /usr/lib/systemd/system/ 或 /lib/systemd/system/ ),如果没有报错,可以查看nginx状态:
systemctl status nginx.service
出现active(running)即代表成功,如果没有显示这个,而是Active: inactive (dead)?那么说明没有成功,需要重启nginx(一般情况下是重启就ok了,有时候就是需要重启一次才会生效):
ps -e | grep nginx # 查看nginx进程
kill -9 【进程号】 # 通通杀死
systemctl start nginx # 重启nginx
systemctl status nginx.service # 再次查看状态,
3、测试
3.1 测试自启动(这里是重启服务器!看清楚再执行!无脑执行后果自负)
确保服务器没有其他运行程序了再重启测试
reboot 或者 shutdown -r now
systemctl status nginx.service # 再次查看状态是否自启动
可以看到,监听了9071端口。
3.2 测试nginx监听端口
ps -aux | grep nginx # 查看nginx进程编号
netstat -anp | grep 【进程号】 # 输入查询的进程号,即可 查询nginx监听的端口
netstat -lntp # 查看所有被监听的端口
4、停止开机启动
systemctl disable nginx