当前位置: 首页 > news >正文

自做网站怎么搭建属于自己的网站

自做网站,怎么搭建属于自己的网站,wordpress注释代码,青岛栈桥前言服务器每次重启,都需要手动启动一些服务,这不是一个程序员可以忍受的,难怪大家都喜欢写脚本。接下来三篇文章,分别记录一下nginx、tomcat和mysql的开机自启动配置。systemdsystemd简介CentOS7已不再使用chkconfig管理启动项&a…

前言

服务器每次重启,都需要手动启动一些服务,这不是一个程序员可以忍受的,难怪大家都喜欢写脚本。接下来三篇文章,分别记录一下nginx、tomcat和mysql的开机自启动配置。

systemd

systemd简介

CentOS7已不再使用chkconfig管理启动项,而是使用systemd。关于systemd的衍生和发展,可以参见《CentOS7/RHEL7 systemd详解》和《CentOS7进程管理systemd详解》。简单介绍如下:

Linux系统从启动到提供服务的过程是这样,先是机器加电,然后通过MBR或者UEFI加载GRUB,再启动内核,内核启动服务,然后开始对外服务。

SysV init、UpStart、systemd主要是解决服务引导管理的问题。

SysV init是最早的解决方案,依靠划分不同的运行级别,启动不同的服务集,服务依靠脚本控制,并且是顺序执行的。在CentOS5中使用,配置文件为/etc/inittab。

SysV init方案的优点是:原理简单,易于理解;依靠shell脚本控制,编写服务脚本门槛比较低。

缺点是:服务顺序启动,启动过程比较慢;不能做到根据需要来启动服务,比如通常希望插入U盘的时候,再启动USB控制的服务,这样可以更好的节省系统资源。

为了解决系统服务的即插即用,UpStart应运而生,在CentOS6系统中,SysV init和UpStart是并存的,UpStart主要解决了服务的即插即用。服务顺序启动慢的问题,UpStart的解决办法是把相关的服务分组,组内的服务是顺序启动,组之间是并行启动。在CentOS6系统中,配置文件为/etc/inittab和/etc/init/*.conf。

但是随着移动互联网的到来,SysV init服务启动慢的问题显得越来越突出,许多移动设备都是基于Linux内核,比如安卓。移动设备启动比较频繁,每次启动都要等待服务顺序启动,显然难以接受,systemd就是为了解决这个问题诞生的。在CentOS7中使用,其配置文件为/usr/lib/systemd/system/ 和 /etc/systemd/system/ 中的文件。

systemd的设计思路是:尽可能的快速启动服务;尽可能的减少系统资源占用。

systemd使用

在CentOS7中,systemctl命令主要负责控制systemd系统和服务管理器。基本取代了service和chkconfig命令,虽然service和chkconfig命令依然保留,但是据说已经被阉割过。

systemctl --version,查看版本。

whereis systemctl,查看位置。

systemctl list-unit-files,列出所有可用单元(服务)。

systemctl list-units,列出所有运行中的单元。

systemctl --failed,列出所有失败的单元。

systemctl list-unit-files | grep enable,查看自启动的软件。

systemctl is-enabled mysqld.service,查看某个单元是否开机启动。

systemctl status mysqld.service,查看某个单元的状态。

systemctl start mysqld.service,启动某个单元。

systemctl restart mysqld.service,重启某个单元。

systemctl stop mysqld.service,停止某个单元。

systemctl daemon-reload,修改了某个单元的配置文件后,重载配置文件。

systemctl reload mysqld.service,重载某个单元。

systemctl enable mysqld.service,设置开机自启动。

systemctl disable mysqld.service,关闭开机自启动。

systemctl kill mysqld,杀死单元。

nginx

yum安装nginx

参考《如何在CentOS 7上安装Nginx》,安装nginx,安装成功后使用systemctl命令设置自启动。

手动安装nginx

1、安装gcc等编译环境

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2、下载nginx1.12.0并解压

wget http://nginx.org/download/nginx-1.12.0.tar.gz

tar -xzvf nginx-1.12.0.tar.gz

cd nginx-1.12.0

3、创建目录

mkdir -p /var/temp

mkdir -p /var/temp/nginx

mkdir -p /var/temp/run/nginx

chmod a+wrx -R temp

4、配置编译选项

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/temp/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

切记,pid-path不能设置为/var/run/nginx/nginx.pid。因为CentOS每次重启后,都会删除/var/run目录中的自建目录和文件,从而导致nginx自启动失败。

5、编译安装

make && make install

进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功

6、测试启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件。

7、测试访问

curl localhost

浏览器如果不能访问,就打开防火墙或者开端口。

关闭防火墙,systemctl stop firewalld.service

开放端口,firewall-cmd --zone=public --add-port=80/tcp --permanent,firewall-cmd --reload

设置开机启动

1、在系统服务目录里创建nginx.service文件

vi /usr/lib/systemd/system/nginx.service

2、写入内容如下:

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

[Unit]:服务的说明

Description:描述服务

After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

3、设置开机自启动

systemctl enable nginx.service

4、查看nginx状态

systemctl status nginx.service

很奇怪,明明启动成功了,为什么显示Active: inactive (dead)?

5、杀死nginx重启nginx

pkill -9 nginx

ps aux | grep nginx

systemctl start nginx

再次查看状态,变成了active,搞定。

6、重启服务器

reboot

7、再次连接后,查看服务状态

systemctl status nginx.service

看到nginx已经启动,至此,nginx自启动配置成功。

作者:VoidKing

链接:https://www.jianshu.com/p/ca5ee5f7075c

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处

http://www.lbrq.cn/news/2489005.html

相关文章:

  • 河北响应式网站企业新闻20字摘抄大全
  • c2c网站的功能新平台怎么推广
  • 网站建设公司怎么写宣传语宁波网站seo公司
  • asp 网站 模板百度广告代运营公司
  • 桂林漓江阳朔优化设计四年级上册数学答案
  • 中国代理网官网重庆seo公司
  • wordpress适合做网页seo搜索引擎优化是通过优化答案
  • 网站对接微信接口智能网站推广优化
  • 淘宝找做网站株洲企业seo优化
  • 游戏网站怎么赚钱chinaz站长素材
  • 企业网站建设的上市公司电商运营seo
  • 互联网有多少网站济南网站推广
  • wordpress投稿者用户权限seo怎么优化步骤
  • 外贸公司起名seo优化
  • 遵义做网站哪家好哪家好seo优化推广技巧
  • 网站是否必须做认证山西seo排名厂家
  • 国家企业信用网企业查询标题关键词优化报价
  • 枣庄高端网站定制厦门关键词排名提升
  • 如何利用网站做产品推广旺道网站排名优化
  • 厦门网站制作seo流量的提升的软件
  • 企业网站建设百度浏览器下载
  • 电商代运营公司怎么样长沙百度网站优化
  • 网站范例自媒体十大平台
  • 萧山做网站设计抖音优化公司
  • 网站关于我们怎么做会计培训班要多少钱一般要学多久
  • 免费自己做网站手机网络推广seo是什么
  • 上海网安网站建设网站建设定制
  • 北京公司网站制作微信软文范例100字
  • 网站ftp根目录电商运营去哪里学比较好
  • 网站CDN怎么做防攻击吗电子商务网站开发
  • 24点数学游戏(穷举法求解表达式)
  • 分布式系统中Token续期问题解决方案
  • 使用uni-app开发一个点餐收银台系统前端静态项目练习
  • linux练习题
  • IntelliJ IDEA 中左上方未显示项目根目录问题
  • golang实现一个定时引擎,功能包括按照corntab的时间任务实时增加、修改、删除定时任务