新县住房和城乡规划建设网站,做网站需要会什么,徐州专业做网站,app和手机网站的区别文章目录 一、背景说明二、Nginx 的安装2.1、依赖的安装2.2、Nginx 安装2.3、验证安装 三、启动 Nginx3.1、普通启动3.2、如何判断nginx已启动3.3、通过配置启动3.4、设置开机启动 四、关闭 Nginx4.1、优雅地关闭4.2、快速关闭4.3、只关闭主进程4.4、使用nginx关闭服务 五、重启… 文章目录 一、背景说明二、Nginx 的安装2.1、依赖的安装2.2、Nginx 安装2.3、验证安装 三、启动 Nginx3.1、普通启动3.2、如何判断nginx已启动3.3、通过配置启动3.4、设置开机启动 四、关闭 Nginx4.1、优雅地关闭4.2、快速关闭4.3、只关闭主进程4.4、使用nginx关闭服务 五、重启 Nginx六、问题6.1、Nginx 从哪里下载6.2、如果没有rz如何安装6.3、如果没有 make如何安装6.4、zlib 从哪里下载6.5、使用 rz命令上传 nginx 安装包为什么会报错6.6、报错fatal error: zlib.h: No such file or directory 七、总结 一、背景说明
最近想自己开发一些小玩意所以在腾讯云买了个云服务器选择镜像时放弃了宝塔Linux面板而是选择了 Ubuntu18 的镜像。
现在想搭建自己的网站选择了 Nginx 作为 Web服务器。那么如何在 Ubuntu18 系统中安装 Nginx 呢所以就有了本文的诞生。 二、Nginx 的安装
2.1、依赖的安装
Nngix 的依赖有
gccopenssl openssl-develpcrepcre-develzlibzlib-devel
依赖的安装命令
apt install gcc openssl pcre pcre-devel zlib zlib-devel;但是提示从pcre往后的包都找不到。有人说Ubuntu中没有这些包。
依赖的安装命令2
# 如果是非root账户需要使用sudo apt install命令
apt install gcc openssl libpcre3 libpcre3-dev libssl-dev;2.2、Nginx 安装
使用 rz 命令将 nginx 和 zlib 的安装包上传到服务器。
# 打开上传文件选择框
sudo rz -y;此时文件默认上传到 home 目录
解压文件
# 解压nginx安装包会在home目录生成nginx-1.20.2目录
tar zxvf nginx-1.20.2.tar.gz;
# 解压 zlib 安装包
tar zxvf zlib-1.2.11.tar.gz; 执行配置
# 进入nginx-1.20.2目录
cd nginx-1.20.2/;
# 执行配置文件
# 执行完后/usr/local/下还没有生成nginx目录
./configure --prefix/usr/local/nginx --with-zlib../zlib-1.2.11/;这段命令的意思
--prefix指定nginx安装的目录--with-zlib指定从哪里读取zlib的源码解压后的目录 安装nginx
# 仍在 ~/nginx-1.20.2/下
make;
# 生成了/usr/local/nginx目录
# 需要root权限否则上述目录无法创建
sudo make install;2.3、验证安装
cd到/usr/local目录如果nginx目录已经生成则表示安装成功。如下图 三、启动 Nginx
有两种启动方式
普通启动通过配置启动
3.1、普通启动
进入Nginx的安装目录即/usr/local/nginx有一个sbin目录。 普通启动就是运行sbin目录下的nginx文件。 启动命令如下
cd /usr/local/nginx/sbin;
sudo ./nginx;# 或者
cd /usr/local/nginx/sbin sudo ./nginx;3.2、如何判断nginx已启动
1再次启动nginx 如果nginx已经启动则再次启动会报如下错误
cd /usr/local/nginx/sbin sudo ./nginx;
[1] 7954
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[1] Done cd /usr/local/nginx/sbin
2还可通过查看进程判断nginx是否启动
ps -ef|grep nginx;nginx的进程信息如下
3直接访问部署nginx的机器的ip地址 3.3、通过配置启动
该启动方法的命令如下
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf;3.4、设置开机启动
命令如下
# 打开/etc/rc.d/rc.local文件
vim /etc/rc.d/rc.local;在文件末尾追加如下内容
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 21重启系统检查nginx是否随系统启动。 四、关闭 Nginx
4.1、优雅地关闭
sudo kill -QUIT $主进程id;优雅地关闭之所以称为优雅是因为如果关闭时还有用户请求会等所有的用户请求都处理完才进行关闭。 4.2、快速关闭
sudo kill -TERM $主进程id;# or
sudo kill $主进程id;注kill 不加参数也是快速关闭。 4.3、只关闭主进程
sudo kill -9 $主进程id;如kill -9 7720
上图可以看出通过这种方式关闭ngin的主进程子进程还是存活的。 通过ps命令可以获得主进程的id。 4.4、使用nginx关闭服务
sudo /usr/local/nginx/sbin/nginx -s stop;五、重启 Nginx
使用下面的命令可以对 Nginx 进行重启
cd /usr/local/nginx/sbin/ sudo ./nginx -s reload;该命令会新建一个进程处理新的请求。同时通知老的进程处理已经响应的请求然后优雅地退出。 六、问题
6.1、Nginx 从哪里下载
答进入 Nginx的下载页 https://nginx.org/en/download.html 我选择的版本是nginx-1.20.2 的Linux版本。 6.2、如果没有rz如何安装
答我使用的云服务器是有这个命令的如果自己的系统没有可以通过下面的命令安装
sudo apt install lrzsz;6.3、如果没有 make如何安装
答和上面的命令类似
sudo apt install make;6.4、zlib 从哪里下载
答zlib的下载地址 http://zlib.net/ 我选的是tar.gz格式的文件 6.5、使用 rz命令上传 nginx 安装包为什么会报错
答上传文件后会出现莫名的字符。报错信息如下
rz -y
## 结果输出
rz: nginx-1.20.2.tar.gz removed. ubuntuVM-(reverse-i-search): q$ZGÿZU͇^C k^CZ2¢荙Ǿvu٧ބ)5¨m3¶
dev;ǢRӪƺ?͇Wվǟĕd|꾣Ĭϲ¤ֶֶֶ $_¼WEKp.eD-bash: syntax error near unexpected token (
ubuntuxxxx:~$ rzͣ z: command not found
ubuntuxxxx:~dzT®ڒ.©n¥\²«
\udcc8s\udc8aT\udc96\udc8a\udcd8}\udcefƘ\udcaeڒ.\udca9\udc9cn\udc94\udca5\udcb2\udcab: command not found
LjM~Bυ˟洌ꆢJ#ϓ-HO秽þ/^6¢f V**0bec3410003d31参考了下面网友的说法 https://segmentfault.com/q/1010000004642603 得知rz -y 命令的执行需要root权限。 所以应当使用如下命令
sudo rz -y;6.6、报错fatal error: zlib.h: No such file or directory
详细报错信息
src/http/modules/ngx_http_log_module.c:13:10: fatal error: zlib.h: No such file or directory#include zlib.h^~~~~~~~答原因zlib不在home目录而是上传到 nginx-1.20.2/目录中了。 七、总结 本文主要介绍了 Nginx 的安装、启动和关闭。之所以安装它是打算使用其部署前端页面。 文章记录了整个 Nginx 的安装和启动过程。期间遇到一些问题在问题节中对这些遇到的问题进行了记录并给出了解决方法。