nginx 安装及使用
参考 https://blog.csdn.net/sqlquan/article/details/101099850
安装一些Nginx依赖库
yum -y install gcc gcc-c++ # nginx编译时依赖gcc环境
yum -y install pcre pcre-devel # 让nginx支持重写功能
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
下载文件
wget https://nginx.org/download/nginx-1.11.5.tar.gz
tar -zxvf nginx-1.11.5.tar.gz # 解压缩
cd nginx-1.11.5
./configure --prefix=/usr/local/nginx # 检查平台安装环境,--prefix=/usr/local/nginx 是nginx编译安装的目录(推荐),安装完后会在此目录下生成相关文件
make # 编译
make install # 安装
修改 vi /usr/local/nginx/conf/nginx.conf
启动服务
/usr/local/nginx/sbin/nginx
重新加载服务
/usr/local/nginx/sbin/nginx -s reload
停止服务
/usr/local/nginx/sbin/nginx -s stop
查看nginx服务进程
ps -ef | grep nginx # 查看服务进程
2020- 3-22 updated:
对于静态资源就直接如下配置就好了
server {
listen 80;
server_name _;
root /home/ubuntu/website;
index index.html;
}
这个index.html上可以再做跳转
2020-4-2更新
npm run build 打包成dist文件后,发布到服务器上,用nginx解析
但是出现了问题,配置了一个端口,死活起不来。
server {
listen 6000;
server_name 域名;
location / {
root /var/www/radar/dist;
index index.html index.htm;
}
}
在本地调试,一般用vue-cli建一个项目,默认会是启动一个8080端口,
在项目根目录下建议一个配置文件vue.config.js
module.exports = {
devServer: {
port: 6000, // 端口
},
lintOnSave: false // 取消 eslint 验证
};
结果6000也无法启动,后来该成7000就好了。原因未知,难道被占用了?
使用命令netstat -lnp|grep 6000 查询端口使用情况
lsof -i tcp:80 查看80端口占用情况使用
列出所有端口 netstat -ntlp
结果也没发现占用,云服务的防护墙策略也修改了。
再查询网络上的资料,说./nginx -s reload不行,需要kill掉再启动,但是kill反而会出问题,nginx的子进程没有杀掉,
此时再找一下相关的进程id, netstat -lnp|grep 6000 ,也kill掉就好了。
在centos 环境下 npm i出现错误
解决方法:把package.json 的这两行删掉再npm就行了。这个问题在windows环境下不存在
lsof -i tcp:80
2020-4-24 update
make的时候报错,
vi objs/Makefile,将gcc参数中 -Werror消除。
但是还是报错
原来是因为centos是8的缘故,改成7应该就OK了。但是改系统的不可能的,下一个最新版本的nginx就行了。
http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.17.10.tar.gz
tar -zxvf nginx-1.17.10.tar.gz
./configure --prefix=/software/nginx
make
make install
搞定