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 ...
随机推荐
- php五种常见的设计模式
工厂模式 工厂模式是最常用的实例化对象的模式,是用工厂方法代替new操作的一种模式 使用工厂模式的好处是:如果想要更改实例化的类名,则只需要更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地方( ...
- 科学计算库Numpy——排序
矩阵按维度排序 使用np.sort()进行排序. 排序索引值 使用np.argsort()排序,返回排序后的索引值. 备注:array1[1,2]=1.2,array1[1,0]=5.6,array1 ...
- Flask初学者:URL(传参,请求,重定向)
URL传参: 良好的URL:视图函数对应的url以/结尾是一种良好url,因为用户在访问的时候无论他有没有加上最后这个斜杠,都是能访问到的,相反,视图函数的url没有以/结尾,用户访问的时候却加上了这 ...
- Python入门基础--变量与基本数据类型
变量 什么是变量 变量就是变化的量,变就是变化,量用于衡量描述对象的状态 为什么要有变量 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序 ...
- char* 与char[]区别
[转] 最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误.一时也不能说得很明白,网上也 ...
- hive实现根据用户分组,按用户记录求上下两条记录的时间差
在mysql,数据如下:#查询某一用户该日抽奖时间 select draw_time from user_draw_log where user_id = 1 and draw_date='2016- ...
- Maya建模命令
Surface-Loft(放样)在两条曲线中间生成曲面Section Radius 改变圆环的圆环半径Edit Mesh- Merge 点连结挤压 keep face together(整体挤压),若 ...
- 极简Node教程-七天从小白变大神(二:中间件是核心)
当我们只引入express时,前述的那些功能都是没有启用的.那么,如何将这些功能添加进来呢?express通过其中间件机制实现了这些功能的管理.每一个中间件对应一个功能,而中间件可以是第三方库,也可以 ...
- leetcode 【 Search in Rotated Sorted Array 】python 实现
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- MFC深入浅出读书笔记第一部分
最近看侯捷的MFC深入浅出,简单总结一下. 第一章首先就是先了解一下windows程序设计的基础知识,包括win32程序开发基础,什么*.lib,*.h,*.cpp的,程序入口点WinMain函数,窗 ...