-
智能家居系统服务器搭建
智能家居系统服务器搭建教程 一、智能家居系统服务器选择: 在智能家居系统服务器操作系统的选择上,我们选择了LINUX的操作系统,因为它有一下几点诱人的优点。 1、 安全性: LINUX作为服务器有较高的安全性。 2、 低成本: 来源于LINUX的嵌入式LINUX是开放源代码的自由软件,遵循GPL协议,嵌入式LINUX的源代码可以自由获得,使用嵌入式LINUX开发嵌入式应用,用于购买嵌入式操作系统的费用可以忽略不计。 3、 高性能: Linux高性能方面的特点表现在Linux系统资源的低占用率和在高性能运算的优势。 4、 广泛的硬件支持 嵌入式LINUX支持的硬件平台很多,包括x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上,支持各种主流硬件设备和最新的硬件技术。因此嵌入式LINUX的移植是嵌入式开发中的热点 5、 强大的网络支持功能 嵌入式LINUX 诞生于因特网时代并具有Unix 的特性,保证了它支持所有标准因特网协议,并且可以利用L i n u x 的网络协议栈将其开发成为嵌入式的TCP/IP 网络协议栈。 此外,LINUX 还支持ext2、fat16、fat32、romfs 等文件系统,为开发嵌入式系统应用打下了很好的基础。 6、 可扩展性 标准的Linux实用程序有着大量的功能,开发人员可以通过修改源代码来进行功能的扩展。Linux可以在广泛的硬件平台上运行且有类似的接口,用户可以把应用程序从一个Linux系统很方便的移植到另外一个Linux系统。 7、 可维护性 由于Linux的用户界面与各个商业版本的UNIX非常相近,几乎所有的IT技术人员都对其操作界面有相当的了解。此外,由于Linux可以在各种硬件平台上运行,熟悉Linux的技术人员可以很容易地管理多种硬件平台上的应用。 第八、 开放的标准 Linux是一个从公开源代码发展来的操作系统,因此奠定了Linux相较其他诸如Windows、以及各商业版本UNIX操作系统的先天优势,全世界无数的技术人员都可以帮助Linux修改系统错误,提升性能,提高安全性。 二、智能家居系统服务器配置: 1.操作系统的选择: 综上所述,鉴于LINUX有这么多优点,我们选择了LINUX中的UBUNTU版本。 2.WEB服务器配置: ①LAMP的优势: Linux+Apache+Mysql+Php(LAMP)每一个组件都是Free or Open SourceSoftware,免费或者开源软件。这种免费和开源的方式对于全世界用户都具有很强的吸引力,无论企业和个人开发者,无需再付费购买“专业”的商用软件。特别是在互联网方面,不需要为软件的发布支付任何许 可证费就可以开发和应用基于LAMP的工程。同时开源社区的潜力更在于资源共享,上百万的志愿开发者为开源软件贡献自己的力量,保证了LAMP技术的不断进步和升级。开源的特性也使企业和开发人员可以随意的修改源程序为我所用,提升专有软件或者商业软件的限制中所没有的灵活性,放大了项目的衍生性。 ②配置流程: 首先到官方网站下载三者的安装包: httpd-2.0.58.tar.gz或更高版本(http://httpd.apache.org/ ) mysql-standard-5.0.0-apache-pc-linux-i686.tar.gz( http://www.mysql.com/ ) php-5.0.0.tar.gz或更高版本( http://www.php.net/ ) Apache的安装配置 将下载下的httpd安装包复制到适当的位置,比如 /usr/local/net 下(如果目录不存在,就创建一个),然后打开终端,在终端中先后输入如下命令: cd /usr/local/net tar -xfz httpd-2.0.58.tar.gz cd httpd-2.0.58 ./configure-prefix=/usr/local/www -enable-module=so make make install 在终端中输入:/usr/local/www/bin/apachectlstart 启动apache服务器 输入:/usr/local/www/bin/apachectlrestart 重新启动服务器 MySQL的安装配置 将mysql-standard-5.0.0-apache-pc-linux-i686.tar.gz复制到 /usr/local/net 目录下,在终端中先后输入如下命令: groupadd mysql useradd -g mysql mysql cd /usr/local tar -xfz/usr/local/net/mysql-standard-5.0.0-apache-pc-linux-i686.tar.gz ln -smysql-standard-5.0.0-apache-pc-linux-i686.tar.gz mysql cd mysql scripts/mysql_install_db-use=mysql chown -R root chown -R mysql data chown -R mysql 在终端中输入:/usr/local/mysql/bin/mysqld_safe-user=mysql&启动MySQL服务 PHP的安装配置 首先查看系统中的libxml2的版本号,如果libxml2的版本号小于2.5.10,则需要安装libxml2-2.5.10.tar.gz或者更高版本,因为PHP必须在libxml2的版本大于2.5.10的前提下才能够安装 将libxml2-2.5.10.tar.gz复制到 /usr/local/net 目录下,然后在终端中先后输入如下命令: cd /usr/local/net tar -xfz libxml2-2.5.10.tar.gz cd libxml2-2.10 ./configure -prefix=/usr/local/libxml2 make make install 再将php-5.0.0.tar.gz复制到 /usr/local/net 目录下,然后在终端中先后输入如下命令: cd /usr/local/net tar -xfz php-5.0.0.tar.gz cd php-5.0.0 ./configure-with-apxs2=/usr/local/www/bin/apxs/ --with-mysql=/usr/local/mysql--with-libxml-dir=/usr/local/libxml2 make make install 拷贝php.ini.-dist或php.ini-recommended到 /usr/local/lib 目录,并命名为php.ini cd php.ini-dist/usr/local/lib/php.ini 更改httpd.conf文件相关设置,该文件位于/usr/local/www/conf 中,找到该文件中的如下指令行: AddTypeapplication/x-gzip.gz.tgz 在该指令后加入如下指令: AddType application/x-httpd-php.php.phtml 至此,Linux下Apache+MySQL+PHP的安装配置完成。 MMCloudIDC提供香港服务器、美国服务器等全球海外服务器租用托管,是智能家居、物联网、区域链、直销、流媒体、外贸、游戏、电商等服务器解决方案首选品牌。!具体详询在线客服!
-
如何启用/etc/rc。本地与Systemd
如果您正在运行一个使用Systemd的Linux发行版,那么您可能会在/etc/rc中找到您的命令。本地文件不会在系统启动时运行。本指南介绍了如何启用/etc/rc。要在系统启动时运行的本地脚本。 启用/etc/rc。系统本地 如果在终端中键入以下命令: sudo systemctl status rc-local 您可能会得到以下输出: ● rc-local.service - /etc/rc.local Compatibility Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2015-11-26 23:54:58 CST; 59s ago Process: 1001 ExecStart=/etc/rc.local start (code=exited, status=1/FAILURE) Nov 26 23:54:57 vivid rc.local[1001]: File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 920, in require Nov 26 23:54:57 vivid rc.local[1001]: needed = self.resolve(parse_requirements(requirements)) Nov 26 23:54:57 vivid rc.local[1001]: File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 807, in resolve Nov 26 23:54:57 vivid rc.local[1001]: raise DistributionNotFound(req) Nov 26 23:54:57 vivid rc.local[1001]: pkg_resources.DistributionNotFound: shadowsocks==2.8.2 Nov 26 23:54:58 vivid sudo[1008]: pam_unix(sudo:session): session closed for user root Nov 26 23:54:58 vivid systemd[1]: rc-local.service: control process exited, code=exited status=1 Nov 26 23:54:58 vivid systemd[1]: Failed to start /etc/rc.local Compatibility. Nov 26 23:54:58 vivid systemd[1]: Unit rc-local.service entered failed state. Nov 26 23:54:58 vivid systemd[1]: rc-local.service failed. 如果您尝试启用/etc/rc。使用以下命令在系统启动时运行本地: sudo systemctl enable rc-local 你可能会得到: The unit files have no [Install] section. They are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: 1) A unit may be statically enabled by being symlinked from another unit's .wants/ or .requires/ directory. 2) A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. 3) A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...). 解决方案 从上面可以看到,单元文件没有[Install]部分。因此,Systemd无法启用它。首先,我们需要创建一个文件: sudo nano /etc/systemd/system/rc-local.service 然后添加以下内容。 [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target 保存并关闭文件。要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要退出文件,请按Ctrl+X。下一步,运行以下命令以确保/etc/rc。本地文件是可执行的。 sudo chmod +x /etc/rc.local 注意:从16.10开始,Ubuntu不附带/etc/rc。本地文件了。可以通过执行此命令来创建文件。 printf '%s/n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local 然后将执行权限添加到/etc/rc。本地文件。 sudo chmod +x /etc/rc.local 之后,在系统启动时启用服务: sudo systemctl enable rc-local 输出: Created symlink from /etc/systemd/system/multi-user.target.wants/rc-local.service to /etc/systemd/system/rc-local.service. 现在启动服务并检查其状态: sudo systemctl start rc-local.service sudo systemctl status rc-local.service 输出: ● rc-local.service - /etc/rc.local Compatibility Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2015-11-27 00:32:56 CST; 14min ago Process: 879 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS) Main PID: 880 (watch) CGroup: /system.slice/rc-local.service Cron@reboot 如果上述方法不适用于您,或者您只是希望在系统引导时执行一些简单的命令,那么您还可以使用cron中的@reboot功能在系统引导时自动执行命令。例如,我希望我的shadowsocks客户端自动启动,因此我打开根用户的cron文件: sudo crontab -e 然后把下面的一行放在它的末尾。 @reboot /usr/bin/sslocal -c /etc/shadowsocks.json -d start 保存并关闭文件。 在一些Linux发行版(如archlinux)中,默认情况下不启用cron守护进程。所以你必须手动启用它。要在archlinux上启用它,请在终端中输入以下命令。 sudo systemctl enable cronie Shadowsocks是一个socks5代理,可用于绕过Internet防火墙。如果您感兴趣,请单击下面的链接,了解如何设置自己的Shadowsocks服务器。 在Debian、Ubuntu和Centos上安装自己的shadowsocks服务器 如何使用Systemd 想了解更多有关systemd的信息以有效管理您的系统吗?请阅读以下教程。 如何在Linux上使用Systemd管理服务、运行级别和日志