linux 应用类部署nginx php node jenkins

164 阅读2分钟

1.Nginx

Nginx 和 Web 服务介绍

  • Nginx(engine x)是一个高性能的 Web 和反向代理服务器
  • Nginx 支持 HTTP、HTTPS和电子邮件代理协议
  • OpenResty 是基于 Nginx 和 Lua 实现的 Web 应用网关,集成了大量的第三方模块
## OpenResty 的下载和安装
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
yum install openresty

## OpenResty 的配置文件
/usr/local/openresty/nginx/conf/nginx.conf
service openresty start | stop | restart | reload

## 基于域名的虚拟主机
 server {
    listen 80;
    server_name www.xxxx.com;
    location / {
        root html/xxxx;
        index index.html index.htm;
    }
 }


## 查看运行服务
curl localhost
## 查看进程
ps -ef | grep nginx


#安装配置地址 
/etc/nginx/conf.d 
#关闭命令:
/usr/sbin/nginx -s stop
#重启命令:
/usr/sbin/nginx -s reload
#启动指定配置,重新安装nginx记得这一步
/usr/sbin/nginx -c /etc/nginx/conf.d/my.conf

 
#通过端口反查nginx配置地址
#查询当前80端口
netstat -lntup|grep 80  

#查询nginx对应端口
netstat -lntup|grep nginx  

#根据端口 查询对应的nginx 路径
ll /proc/进程ID/exe
#查询nginx 对应的 配置地址
/usr/local/nginx/sbin/nginx -t


#查找应用地址
whereis nginx


#赋予文件夹权限
sudo chmod  777  /usr/local/nginx/html

查看端口占用
lsof -i :80 

#显示进程
ps -ax   
#查看当前进程
ps -ef|grep nginx
#杀进程
kill -9  24664  

2.LNMP

什么是 LNMP

  • LAMP (Linux+Apache+PHP+MySQL)
  • LNMP (Apache -> Nginx)

LNMP 环境的搭建

MySQL安装

# 可以使用mariadb替代
yum install mariadb mariadb-server
# 修改默认编码 
vim /etc/my.cnf

character_set_server=utf8
init_connect='SET NAMES utf8'
# 启动服务
systemctl start mariadb.service
# 查看是否生效
show variables like '%character_set%' ;

PHP 安装

  • yum install php-fpm php-mysql 启动 php-fpm
  • systemctl start php-fpm.service

查看服务

ps -ef | grep php

新建php

vi /usr/local/openresty/nginx/html/index.php

Nginx 配置

 location ~ \.php$ {
     root html;
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
 }

# 测试访问
curl 127.0.0.1/index.php

3.部署

java

jenkins

#!/bin/bash
echo '####################自动部署 开始####################'

echo '>>>>>>删除原有项目>>>>>>'
rm -rf eeka-appenter

echo '>>>>设置tomcat 环境变量>>>>'
#启动tomcat服务
export JAVA_HOME=/usr/local/jdk1.8.0_181
path=`pwd` #当前路径
tomcatPath=/opt/app-test/apache-tomcat-8.5.45/ #指定tomcat文件目录名称
cd $tomcatPath/bin #进入tomcat的bin目录

echo '>>>>杀死原有进程 开始>>>>'
#sh shutdown.sh
pid=`ps -ef | grep opt/app-test | grep -v grep | awk '{print $2}'`
echo “旧应用进程id$pidif [ -n "$pid" ]
then
kill -9 $pid
fi
echo '>>>>杀死原有进程 结束>>>>'

sleep 2s
sh startup.sh #

echo '>>>>启动tomcat服务完毕>>>>'

根据分支状态判断部署的文件夹

branchName=''
folderName='dev'
if [ $branchName == 'develop' ];then
	folderName='dev'
else
	folderName=$branchName
fi
echo '当前部署文件夹是:'$folderName

查看 tomcat日志

cd /Library/apache-tomcat-9.0.24/bin/
#停tomcat
./shutdown.sh        
#启动tomcat
./startup.sh        
#显示tomcat日志
tail -f -n 1000 catalina.out

node

按时间备份

#按当前的时间重命名文件
mv dist.tar.gz ./dist`date "+%Y-%m-%d-%H:%M:%S"`.tar.gz

删除最近30天的 备份文件

find  /data/3d/web\_tomcat/apache-tomcat-8.5.45/backup -mtime +37 -name "\*.tar.gz"  -exec rm -rf {} ;

nuxt egg 进程出现各种奇怪问题,当心是node版本问题

建议使用nvm 进行版本的管理切换,

有时候服务器重启nvm 需要重新设置。

#每次重启后 请执行 
$ cd ~/.nvm 
$ . nvm.sh 

nvm 建议使用git方式安装::

方法:github.com/creationix/…

$ cd ~/ #切到主目录
$ git clone https://github.com/creationix/nvm.git .nvm #克隆代码到文件夹 .nvm
$ cd ~/.nvm #进入nvm代码目录
$ git checkout v0.33.11 #切换到v0.33.11版本
$ . nvm.sh #执行命令