在nodejs中使用express来搭建框架可以说是非常的简单方便,但是一般默认创建的都是http服务器,也就是只能通过http协议进行访问。如今https已经是发展趋势,我们应该顺应时代的潮流。这里,将记录下这个的配置过程。
生成证书文件
先进入到项目的目录。
cd /alidata/service/node.js/server/im/
1. 生成私钥key文件
openssl genrsa 1024 > private.pem
在nodejs中使用express来搭建框架可以说是非常的简单方便,但是一般默认创建的都是http服务器,也就是只能通过http协议进行访问。如今https已经是发展趋势,我们应该顺应时代的潮流。这里,将记录下这个的配置过程。
cd /alidata/service/node.js/server/im/
openssl genrsa 1024 > private.pem
ECMAScript 2017(ES8)已经发布,很多习惯语法却停留在ES6之前。路在前方。
http://www.php.cn/js-tutorial-374051.html
https://segmentfault.com/a/1190000010213513
http://www.jianshu.com/p/a138a525c287
这里仅仅列出一些例子,详细阐述在下边的链接文章中。
Node.js 官网下载地址:https://nodejs.org/en/download/
注意,这里分两种版本,LTS(长期支持,成熟可靠)和Current(稳定版,最新特性)。选择合适的版本安装。
下载好Mac对应的版本。然后安装。安装完成后,会出现下边提示。
Node.js was installed at
/usr/local/bin/node
npm was installed at
/usr/local/bin/npm
Make sure that /usr/local/bin is in your $PATH.
确定,安装完成。
安装完成后,可以在终端中查看版本。
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
node.js的mysql模块比较多,有mysql,mysqli,还有mariasql以及node-mariadb。针对服务器的环境,使用对应的模块。因此,踩过不少坑。
安装对应模块:
npm install mysql // php7以下
npm install mysqli // php7
安装redis
brew install redis
安装成功后,有如下提示
zhoulindeMacBook-Pro:~ zhoulin$ brew install redis
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/redis-4.0.1.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring redis-4.0.1.sierra.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don't want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
==> Summary
/usr/local/Cellar/redis/4.0.1: 13 files, 2.8MB
zhoulindeMacBook-Pro:~ zhoulin$ brew services start redis
==> Successfully started `redis` (label: homebrew.mxcl.redis)
然后按照提示,启动redis
开机自启动
sudo cp /usr/local/opt/redis/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
sudo launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
sudo launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist #停止使用
不能什么事都敲命令来解决,所有,图形软件还是很有必要。通过用phpmyadmin和navicat来管理mysql数据库。
直接进入主题。
brew install mariadb
安装成功后,会有下边的提示。
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
MySQL is configured to only allow connections from localhost by default
To connect:
mysql -uroot
To have launchd start mariadb now and restart at login:
brew services start mariadb
Or, if you don't want/need a background service you can just run:
mysql.server start
==> Summary
/usr/local/Cellar/mariadb/10.2.7_1: 623 files, 162.2MB
进入安装目录,进行配置。
cd /usr/local/cellar/mariadb/10.2.7_1
mysql_install_db
经过了上面的若干命令,已经安装好了mariadb数据库,但是mariadb数据库服务并没有启动,你可以通过这个命令来启动mariadb数据库服务:
mysql.server start
通过上面的启动mariadb数据库服务,你已经可以连接mariadb的数据库了,但是还不够安全,通过如下步骤可以完成更全面的设置,如:重设root用户的密码、移除匿名用户、移除默认的test数据库等等。
zhoulindeMacBook-Pro:10.2.7_1 zhoulin$ mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
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? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] n
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
连接mariadb数据:
mysql -u root -p
这个时候,输入上一步设置的密码,回车,就可以连接到mariadb了。
验证mariadb版本:
MariaDB [(none)]> select @@version;
+----------------+
| @@version |
+----------------+
| 10.2.7-MariaDB |
+----------------+
1 row in set (0.00 sec)
mariadb基础命令:
下面是mariadb的一些基础使用命令:
显示数据库列表
show databases;切换到名为mysql的数据库,显示该库中的数据表
use mysql;
show tables;显示数据表table的结构
desc table;建数据库A与删数据库A
create databasedatabase_A
;
drop databasedatabase_A
;建表:
use database_A;
create table table_A(字段列表);
drop table table_A;显示表中的记录:
select * from table_A;清空表中记录:
delete from table_A;
sudo cp /usr/local/cellar/mariadb/10.2.7_1/homebrew.mxcl.mariadb.plist ~/Library/LaunchAgents/
sudo launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist #启动
sudo launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist #关闭
通常,域名访问的网站都是外网的。有时候为了方便,使用域名访问本地文件也有必要。要实现这个,做到以下两步即可。
修改服务器配置。这里用的是 nginx 。
如果想要使用 https 访问,还需要制作 ssl 证书。
但在 mac 下,要实现这个,必须先实现端口的转发。也就是mac限制root权限才可以访问1024以下端口。所以,你想访问80端口,443端口是不现实的。这个时候,就需要用到 pfctl 转发。
实现了转发,就继续下边的过程了。