服务器运维

2017-10-21  本文已影响145人  股金杂谈

ubuntu查找命令

find / -name EnShengServerError.log

部署Python代码

fab deploy

ubuntu更新源设置
Ubuntu16.04安装mongodb

sudo apt-get install mongodb

mongdb的配置文件在

/etc/mongo.conf

通过配置文件启动mongodb

mongod -f /etc/mongo.conf

mongodb的数据库文件在

/var/lib/mongodb

mongodb的日志文件在

/var/log/mongodb.log

查看mongodb进程ID

pgrep mongod | xargs ps -u --pid

关闭mongodb

cd /usr/bin/mongod

执行 mongo, 进入mongo命令行交互
然后执行下面脚本:

use admin
db.auth('admin', 'admin123') 
db.runCommand("shutdown")

mongodb可视化管理工具robo3t安装

1. 去[robomongo官方网址](https://robomongo.org/download)下载,选择相应的版本。
2. tar -xzf robomongo-0.9.0-linux-x86_64-0786489.tar.gz
3. cd robomongo-0.9.0-linux-x86_64-0786489/bin
4. ./robo3t

导出swift环境变量
Ubuntu下修改环境变量的三种方法

export PATH=/usr/local/swift/usr/bin:"${PATH}"

安装opendssl

sudo apt-get install openssl
sudo apt-get install libssl-dev
apt-get install libcurl4-openssl-dev

linux 下安装UUID库:
ubuntu下安装uuid链接库

sudo apt-get install uuid-dev

ubuntu退出Python命令行

quit(), exit(), 或者Ctrl-D退出命令行

error: '/usr/include/python2.7/Python.h' file not found

使用 dpkg -L python 搜索Python路径
删除python引用

mongodb安装

sudo apt-get install mongodb

postman测试上传文件

图片.png
输入url:http://127.0.0.1:8081/uploadfile

选择post方式

选择body

选择form-data,text改为file

输入key:file  ,value:选择文件

send即可

libmongoc安装 按照Building from a release tarball的方式安装.
导出环境变量
阿里云服务器上可以按照git方式安装

2、修改profile文件: 
#888
在里面加入(文件的最后添加):
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

解决libmongoc-1.0.so.0: cannot open shared object file
Swift 包管理器教程
报错

 /usr/local/lib/libbson-1.0.so.0: no version information available (required by .build/debug/EnShengAPIServer)
.build/debug/EnShengAPIServer: /usr/local/lib/libmongoc-1.0.so.0: no version information available (required by .build/debug/EnShengAPIServer)
.build/debug/EnShengAPIServer: /usr/local/lib/libmongoc-1.0.so.0: no version information available (required by .build/debug/EnShengAPIServer)
Segmentation fault (core dumped)

解决办法

把/usr/local/lib/libbson-1.0.so.0和libmongoc-1.0.so.0这两个个文件删除就可以了,这是linux版本混乱的原因~~

ImportError:No moudle name random 的问题, 解决办法

增加搜索路径
sys.path.append("你的python lib路径")

如何获取 Python 模块的路径?

解决方法
import a_module
print a_module.__file__

上述代码将范围 .pyc 文件被加载的路径,如果需要跨平台解决方案,可用下面代码:
import os
path =os.path.dirname(amodule.__file__)

Mac上pip安装

sudo easy_install pip

ubuntu16.04下安装pip

ubuntu 安装 PIL(Python图像库)
Mac上PIL

sudo easy_install pip

查看server进程

ps -ef | grep EnShengAPIServer
kill 4281

'/usr/include/python2.7/Python.h' file not found'
解决办法

sudo apt-get install python-dev

ubuntu16.04下安装pip
还要杀掉apache和nginx进程

nginx certbot https配置

  1. 按照官网的教程 安装执行
  2. 在/etc/nginx/site-avaliable/default文件里设置域名
  3. 执行到sudo certbot --nginx的时候会报错.
    解决办法:
ps -ef | grep  nginx
kill 724
sudo service nginx restart
再次执行 sudo certbot --nginx

nginx跨域配置
不光要配置/etc/nginx/nginx.conf 还要配置/etc/nginx/site-avaliable/default
supervisor can't find command
配置 Nginx 跨域访问
进入 nginx 的 html 目录,新建 crossdomain.xml,具体路径: /usr/local/nginx/html/crossdomain.xml
在 crossdomain.xml 中添加类似如下内容:

注意:默认情况下,/usr/local/nginx/html/crossdomain.xml 是不存在的。
<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE cross-domain-policy SYSTEM “http://www.adobe.com/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy>
<allow-access-from domain=“*” />
</cross-domain-policy>

最终成功解决跨域问题的配置文件内容

location /en_sheng_api {
        if ($request_method = 'OPTIONS' ) {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Credentials' 'true';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, PUT, OPTIONS, DELETE';
                add_header 'Content-Type' 'text/html; charset=UTF-8';
                add_header 'Access-Control-Allow-Headers' 'DNT, Content-Type, X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, X-Auth-Token, X-Authorization';
                return 200;
        }
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        proxy_pass http://127.0.0.1:9000;
}

使用配置文件启动supervisor

supervisord -c /etc/supervisor/supervisord.conf

/etc/supervisor/conf.d目录下server.conf的内容

[program:EnShengAPIServer]
autostart = True
autorestart = True
command=/home/enshengserverswift/.build/debug/EnShengAPIServer
directory = /home/enshengserverswift/
stderr_logfile = /var/log/supervisor/EnShengServerError.log
stdout_logfile = /var/log/supervisor/EnShengServer.log
user=root

git保存密码

    [credential]     
        helper = store  

安装nginx

sudo apt-get install nginx

Perfect-MongoDB 注意事项

Linux 注意事项

请确定以下函数库已经预装:

apt-get install libmongoc-dev libbson-dev libssl-dev

另外,Perfect 默认 libmongoc 安装在 /usr/local/include 目录下。如果不是的话,请您手工增加链接:

ln -s /usr/include/libmongoc-1.0/ libmongoc-1.0

进入mongodb shell

mongo --host 127.0.0.1:60660 -u superAdmin -p superRole --authenticationDatabase admin

阿里云访问自定义端口要在安全组里设置才能访问
安装openpyxl

pip install openpyxl

Nginx 403 Forbidden错误的解决方法
利用ssh传输文件

作为后台进程运行的方法:

.build/debug/XXServer &
上一篇 下一篇

猜你喜欢

热点阅读