Swift Perfect 服务器配置(Ubuntu16.0.4 主机、虚拟机)
Mac 开发环境
brew install mysql@5.7 && brew link mysql@5.7 --force
mysql.server start
mysql_secure_installation mysql -uroot -p (默认密码为空,直接回车)
alter user 'root'@'localhost' identified by '新密码';(MySQL 5.7. and later)
Ubuntu 16.0.4 Swift环境配置 (下载对应环境 https://swift.org/download/ Toolchain)
#.bashrc export SWIFT_HOME=/opt/swift
export PATH=$SWIFT_HOME/usr/bin:$PATH # source .bashrc
sudo apt-get install mysql-server mysql-client libmysqlclient-dev clang libcurl3 openssl libssl-dev uuid-dev libpython2.7-dev supervisor pkg-config libcurl4-openssl-dev
Ubuntu 16.0.4 MySQL数据库配置
基础命令:service mysql restart | service mysql start | service mysql stop
sudo mysql_secure_installation
配置项较多,如下所示:
#
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (我的选项) #
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入) #
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (我的选项) #
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y (我的选项) #
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (我的选项) #
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (我的选项)
检查mysql服务状态:
systemctl status mysql.service
显示如下结果说明mysql服务是正常的:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Tue -- :: CST; 13min ago
Main PID: (mysqld)
Tasks: (limit: )
CGroup: /system.slice/mysql.service
└─ /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pi May :: fileplay-ecs- systemd[]: Starting MySQL Community Server...
May :: fileplay-ecs- systemd[]: Started MySQL Community Server.
在Ubuntu下MySQL缺省是只允许本地访问的,使用workbench连接工具是连不上的;
如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件;
首先用根用户进入:直接回车
sudo mysql -uroot -p
mysql> use mysql;
mysql> flush privileges;
以root进入mysql后也可用命令给root设置密码:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "";
新建数据库和用户
用root用户新建数据和用作远程访问的用户
## 创建数据库weixx
CREATE DATABASE weixx;
## 创建用户wxx(密码654321) 并赋予其weixx数据库的所有权限
GRANT ALL PRIVILEGES ON weixx.* TO wxx@localhost IDENTIFIED BY "";
进行远程访问或控制配置
## 允许wxx用户可以从任意机器上登入mysql
GRANT ALL PRIVILEGES ON weixx.* TO wxx@"%" IDENTIFIED BY "";
$sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
这里我们注释掉这一行 #bind-address = 127.0.0.1
重启mysql
service mysql restart
mysql增大超时时间(24小时,需重启)
interactive_timeout=
wait_timeout=
mysql插入数据支持中文
#
[client]
default-character-set=utf8 [mysql]
no-auto-rehash
default-character-set=utf8 [mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8'
Mysql频繁出现 Mysql mysql lost connection to server during query(同时解决设置utf8后,异端无法用utf8查看数据库【中文乱码】)
[mysqld]
skip-name-resolve
Supervisor让服务器项目后台运行
apt-get install supervisor #没有/etc/supervisor/supervisord.conf文件,可按此方法生成 echo_supervisord_conf > /etc/supervisor/supervisord.conf
#修改supervisor配置文件 /etc/supervisor/supervisord.conf #移至文件内容结尾 去掉 [include] 前面;
files = /etc/supervisor/conf.d/*.conf
# script.sh 执行脚本,进入代码路径,执行命令 cd /root/Code/PerfectTemplate
.build/debug/PerfectTemplate
# cd /etc/supervisor/conf.d, 创建并编辑 vim swiftServer.conf, swiftServer是我的文件名和program名
# ; 一定一定不能少 [program:swiftServer] ; // program name
file=/tmp/supervisor.sock ;
command=sh script.sh ; // script name
process_name=%(program_name)s ;
directory=/opt ; // script path
autorestart=unexpected ; //当进程意外被kill或出现异常时,Supervisor会自动重启该进程。
user=root ; // user name
[supervisord]
[supervisorctl]
输入supervisord -c /etc/supervisord.conf让你刚刚的配置生效.
输入supervisorctl start swiftServer
启动并后台运行
输入supervisorctl status查询状态
supervisor 自启动
创建/usr/lib/systemd/system/supervisord.service
文件;
写入:
# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
systemctl enable supervisord
验证一下是否为开机启动:systemctl is-enabled supervisord
supervisor 定期启动应用
Swift Perfect 服务器配置(Ubuntu16.0.4 主机、虚拟机)的更多相关文章
- 记录一下使用Ubuntu16.0.4配置和使用docker registry
h1, h2, h3, h4, h5, h6, p, blockquote { margin: 5px; padding: 5; } body { font-family: "Helveti ...
- VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通
记录下VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通过程,网上搜出来的比较乱,讲的不明不白,因此根据自己弄过一次,确认可行的方式,做个备份,方便日后查阅. 环境: 在Oracle ...
- VMware 无法连接虚拟设备ide1:0,主机上没有相对应的设备,您 要在每次开启此虚拟机时都尝试连接此虚拟设备吗?
无法连接虚拟设备ide1:0,主机上没有相对应的设备,您 要在每次开启此虚拟机时都尝试连接此虚拟设备吗? 运行VMware,出现以上错误. ide1:0一般是虚拟机的光驱,配置默认选项是“使用物理驱动 ...
- #Ubuntu16.0.4 LTS 安装RabbitMQ
1.ubuntu下安装配置rabbitmq-server服务器环境:ubuntu16.0.4(向下兼容14.0.4)软件版本:RabbitMQ 3.7.5 .Erlang 20.1.7参考文档:htt ...
- Linux系统下安装Angular2开发环境(Ubuntu16.0和deepin)
说明下,以下过程都是在ubuntu16.0系统下,win系统环境下的安装过程更简单,基本上可以仿效此环境来,除了不用配置系统命令(win下自动可以),node安装是exe程序,一键安装.另外,这里面像 ...
- 主机 & 虚拟机 & 开发板 三者的恩爱情仇
# 主机 & 虚拟机 & 开发板 > 三者网络连通性,使用ping命令检测 @ Bridge 模式 ## 主机 & 虚拟机 主机与虚拟机相当于一个网络里的两台主机,都有各 ...
- 虚拟机ubuntu16.0 安装 mysql 主机配置访问
在bantu服务器中安装如下命令 sudo apt-get install mysql-server sudo apt-get install mysql-client安装成功之后 进入配置文件 ...
- (转载)虚拟机出现无法连接虚拟设备sata0:0,因为主机上没有相应设备
虚拟主机需要镜像文件, 如果是拷贝的虚拟机,还需要桥接联网的话,更改mac地址,
- 使用Azure的GPU系列虚拟机Ubuntu-16.0.4安装GPU驱动并使用Tensorflow-GPU的过程。
1.source activate python362.source activate tensorflow-gpu3.pip install tensorflow-gpu(提示安装的这个版本:ten ...
随机推荐
- C语言实现判断分数等级
从屏幕上输入一个学生的成绩(0-100),对学生成绩进行评定: <=60为"E" 60~69为"D" 70~79为"C" 80~89为 ...
- 线程之sleep(),wait(),yield(),join()等等的方法的区别
操作线程的常用方法大体上有sleep(),join(),yield()(让位),wait(),notify(),notifyAll(),关键字synchronized等等. 由于这些方法功能有些 ...
- Python中关于集合的介绍及用法
一.集合的含义及创建方法 集合(set)是一种无序的并且里面存放不同元素的序列. 集合可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因 ...
- python PEP8代码规范及问题
最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8: module level i ...
- Linux命令之---touch
命令简介 linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 命令格式 touch [选项]... 文件... 命令参数 -a 或 ...
- Git的安装及常用操作
一.Git的安装 1.下载Git,官网地址为:https://git-scm.com/downloads. 2.下载完成之后,双击目录进行安装 3.选择安装目录 4.选择组件,默认即可 5.设 ...
- Linux程序编辑器
重点回顾:Linux底下的配置文件多为文本文件,故使用vim即可进行设定编辑: vim可视为程序编辑器,可用以编辑shell script,配置文件等,避免打错字 vi为所有unix like的操作系 ...
- Leetcode 593.有效正方形
有效正方形 给定二维空间中四点的坐标,返回四点是否可以构造一个正方形. 一个点的坐标(x,y)由一个有两个整数的整数数组表示. 示例: 输入: p1 = [0,0], p2 = [1,1], p3 = ...
- [转]手写数字识别错误NameError: name 'mnist' is not defined
转自:https://blog.csdn.net/coder_Gray/article/details/78562382 在Tensorflow上进行mnist数字识别实例时,出现如下错误 NameE ...
- Unity 碰撞检测
武器与怪物的碰撞 目前来说有三种思路,其实前两种算变种了: 1.动画关键帧回调 + 范围检测.http://blog.csdn.net/u013700908/article/details/52888 ...