linux php mysql apache tomcat jdk_Linux 安装Jdk、mysql、apache、php、tomcat、nginx

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

退出:

quit

简单的命令:

# service mysqld start ##启动apache

# service mysqld stop ##关闭 apache

# service mysqld restart ## 重启 apache

# chkconfig mysqld on ## 将 apache 设为开机启动

# ps -ef|grep mysqld ## 查看 apache 是否启动

Apache

一、安装

yum 安装 apache,遇见提示,输入 'y'

# yum install httpd

启动apache,出现如下提示:

# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.18.46.17 for ServerName

解决方案:取消注释,重新启动

vi /etc/httpd/conf/httpd.confServerName www.example.com:80  (将这一行的注释取消)

结果:

# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

简单的命令:

# service httpd start ##启动apache

# service httpd stop ##关闭 apache

# service httpd restart ## 重启 apache

# chkconfig httpd on ## 将 apache 设为开机启动

# ps -ef|grep httpd ## 查看 apache 是否启动

进入我们的 ip:port (未修改配置的话,默认 80 端口)

126285465e377d1bbf1d32bb57e830b4.png

二、工作模式转换

apache 有三种工作模式,分别为:prefok  event  worker,yum 安装的默认工作模式为:prefok。

查看工作模式的命令:

# httpd -l

Compiled in modules:

core.c

prefork.c

http_core.c

mod_so.c

转换工作模式的方式:修改配置文件的 httpd 文件命名(一般来讲,这几个文件是在 /etc/httpd 里面)

# cd /usr/sbin/# ll

-rwxr-xr-x 1 root root 367136 Jun 19 2018 httpd

-rwxr-xr-x 1 root root 379688 Jun 19 2018 httpd.event

-rwxr-xr-x 1 root root 379688 Jun 19 2018 httpd.worker

要转换成 worker 模式:

mv httpd httpd.prefork

mv httpd.worker httpd

重启 service httpd restart,重启apache可能会报错,如下图:

4833d7430fd419eb1f3c806c170c4603.png

解决方案:安装php-zts

yum -y install php-zts

ok :

# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

三、配置监控

主要是改配置文件内的 service-status,解除注释,并将 Allow from 改成 all,重启

SetHandler server-status

Order deny,allow

Deny from all

Allow from all

SetHandler server-info

Order deny,allow

Deny from all

Allow from all

ExtendedStatus On  ## 这一行是可以展开更多的监控信息

配置的监控信息如下:

8cfc2183d7de21233da283b38d2d4424.png

PHP

yum 安装 php

1、安装 php 依赖

yum install gcc libxml2-devel openssl-devel curl-devel -y

2、依旧是安装依赖(遇见提示,按 'y')

yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath mhash libmcrypt libmcrypt-devel php-fpm php-redis php-solr

3、安装 php (安装依赖与安装 php 之间无先后顺序)

yum install php

4、对 php 增加可执行权限

chmod +x /etc/init.d/php-fpm

5、开启 php

# service php-fpm start

Starting php-fpm: [ OK ]

6、验证 php 是否ok,在 apache 的 工程路径: /var/www/html 下 ,新建一个 info.php

phpinfo()

?>

7、将 apache 重启,在浏览器内输入:ip/info.php (ip指的是 apache 的ip和端口,我这里默认是80就省略)

5025d141d7f6b0123789e874e9016d29.png

出现 php 的具体信息,就代表 php 安装完成,并且成功和 apache 建立了关联。

Tomcat

tomcat 是基于 java 的,所以,必须安装好 java ,并且配置好环境变量,这里我们不赘述,看一下 java 版本如何:

tomcat 我们这里选取最新版本进行安装,因为配置监控信息,tomcat 8-9 的监控配置是不一样的,其中 tomcat 7 配置监控最简单,只需要根据提示即可,不需要另外的其他操作

一、安装

1、在官网上下好 tar 包,上传到服务期内,解压即可。

2、配置好 tomcat 的配置文件,主要是更改3个端口,这三个端口如果启动多个 tomcat 可能会出现冲突:8080,8009,8005

connectionTimeout="20000"

redirectPort="8443" />

我们既然如果只是启动其中一个,其实就没有必要去修改端口咯,这是只是贴出来如果部署分布式,需要修改的端口位置。

3、启动 tomcat ,我们可以将其作为 一个 service 去启动,这样就不用每次都到目录下启动,这里偷个懒百度实践下。

原理:我们的 service [服务名] [选项] ,其实在启动服务的时候是执行 /etc/init.d/ 下的脚本文件 ,就像我们执行 service httpd restart ,那么就是执行 /etc/init.d/ 下的 httpd 脚本文件

问题点找到了,那么我们怎么将 tomcat 的启动过程,编写成类似 httpd 这样的脚本呢?我们可以依照 httpd 或者其他的脚本仿写一个:

这里要注意几点:

引入 java 环境变量先,且更改 tomcat9 的路径

编辑好了之后,把这个文件服务执行权限:chmod +x tomcat9

这里只引入了几个功能:restart 、start、stop,其他的功能还未加进去

#!/bin/bash

# description: Tomcat9 Start Stop Restart

# processname: tomcat9

# chkconfig:

JAVA_HOME=/opt/jdk1.

export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

export PATH

CATALINA_HOME=/opt/tomcat9

in

start)

sh $CATALINA_HOME/bin/startup.sh

;;

stop)

sh $CATALINA_HOME/bin/shutdown.sh

;;

restart)

sh $CATALINA_HOME/bin/shutdown.sh

sh $CATALINA_HOME/bin/startup.sh

;;

esac

exit

最后我们看看效果:

# service tomcat9 start

Using CATALINA_BASE: /opt/tomcat9

Using CATALINA_HOME: /opt/tomcat9

Using CATALINA_TMPDIR: /opt/tomcat9/temp

Using JRE_HOME: /opt/jdk1.

Using CLASSPATH: /opt/tomcat9/bin/bootstrap.jar:/opt/tomcat9/bin/tomcat-juli.jar

Tomcat started.

ea35ec3e9f91a2b5b9bb47818ab527e3.png

完美。叉会儿腰……  好像偏题了,接下来干点儿啥呢?配置个监听吧,先把其改成 nio 的工作模式,再启动个 sever-status监听

二、修改工作模式并且启动监听

问题来了,在哪修改工作模式,模式一般都是在配置文件内找:去 tomcat 路径下的 conf 内找找看:vi /opt/tomcat9/conf/server.xml

这里,咱们先不配置工作模式,看看默认的是啥,如果默认就是 nio 就不配置了咯,nio 是异步阻塞,某种程度上可以增进性能; bio 是同步阻塞的模式,一个线程只能处理一个请求。

那么,先配置监听吧,过程就不贴了,直接进入要更改的项:

1、vi /opt/tomcat9/conf/tomcat-users.xml

这里要注意,这是配置 manager 权限,不要把这两行粘贴到最后去了,要粘贴在  之上 ,这是 xml 的格式,贴到外面了肯定就不生效

2、vi /opt/tomcat9/webapps/manager/META-INF/context.xml  ,把 Contest 的内容全部注释,如下所示

3、重启 tomcat ,看效果,不难发现,这里就是 nio 的模式,无需修改。

ee56665cd08af798379b669df475d35a.png

自从 tomcat 8 以来,默认的就是 nio 的模式,这里我们就不需要修改了,那 tomcat 7 就需要修改工作模式

vi /opt/tomcat9/conf/server.xml

connectionTimeout="

redirectPort=" />

Nginx

编译安装 Nginx ,并且配置监听。为啥要编译呢?因为要启动监听就必须编译安装

一、安装依赖

使用源码编译安装,包括具体的编译参数信息。

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好。

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。

1.选定源码目录

可以是任何目录,本文选定的是/usr/local/src

cd /usr/local/src

2.安装PCRE库

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

8fce93597e9ed23716978b59f540b398.gif

cd /usr/local/src

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

tar -zxvf pcre-8.39.tar.gz

cd pcre-8.39

./configure

make && make install

8fce93597e9ed23716978b59f540b398.gif

3.安装zlib库

http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

8fce93597e9ed23716978b59f540b398.gif

cd /usr/local/src

wget http://zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure

make && make install

8fce93597e9ed23716978b59f540b398.gif

4.安装ssl(某些vps默认没装ssl)

8fce93597e9ed23716978b59f540b398.gif

cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz

tar -zxvf openssl-1.1.0b.tar.gz

cd openssl-1.1.0b

./config

make && make install

8fce93597e9ed23716978b59f540b398.gif

二、安装Nginx

把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

8fce93597e9ed23716978b59f540b398.gif

cd /usr/local/src

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

tar -zxvf nginx-1.10.2.tar.gz

cd nginx-1.10.2

8fce93597e9ed23716978b59f540b398.gif

1、配置Nginx的安装参数

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.0b --prefix=/usr/local/nginx --with-http_stub_status_module

2、编译安装

make && make install

3、启动Nginx

/usr/local/nginx/nginx

网页访问查看是否正常启动:因为 80 端口被 apache 占用,所以这里我们用 81 端口

033ec6683600d4763a83797d197f6c65.png

4 、同样的,我们可以将 nginx 作为一个 service 来启动:

编写nginx文件,放入/etc/init.d/

nginx文件内容如下,黄色部分为自己实际nginx安装的路径。

#!/bin/bash

# nginx Startup script for the Nginx HTTP Server

# it is v. version.

# chkconfig: -

# description: Nginx is a high-performance web and proxy server.

# It has a lot of features, but it's not for everyone.

# processname: nginx

# pidfile: /var/run/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx

nginx_config=/usr/local/nginx/conf/nginx.conf

nginx_pid=/var/run/nginx.pid

RETVAL=

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} =

[ -x $nginxd ] || exit

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

echo "nginx already running...."

exit

fi

echo -n $"Starting $prog: "

daemon $nginxd -c ${nginx_config}

RETVAL=$?

echo

[ $RETVAL = ] && touch /var/lock/subsys/nginx

return $RETVAL

}

# Stop nginx daemons functions.

stop() {

echo -n $"Stopping $prog: "

killproc $nginxd

RETVAL=$?

echo

[ $RETVAL = ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid

}

# reload nginx service functions.

reload() {

echo -n $"Reloading $prog: "

#kill -HUP `cat ${nginx_pid}`

killproc $nginxd -HUP

RETVAL=$?

echo

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

stop

start

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $prog {start|stop|restart|reload|status|help}"

exit

esac

exit $RETVAL

第二步:

执行

chkconfig --add /etc/init.d/nginxchmod 755 /etc/init.d/nginxchkconfig --add nginx

如果想随系统启动就执行

/sbin/chkconfig --level 345 nginx on

第三步

nginx启动、停止、无间断服务重启,可选  start | stop | restart | reload | status |  help

service nginx start

service nginx stop

service nginx reload

三、配置Nginx的监控

配置文件路径:

vi /usr/local/nginx/nginx.conf

添加如下代码:

#设定Nginx状态访问地址

8fce93597e9ed23716978b59f540b398.gif

location /NginxStatus {

stub_status on;

access_log on;

auth_basic "NginxStatus";

#auth_basic_user_file conf/htpasswd;

}

8fce93597e9ed23716978b59f540b398.gif

配置完成重启Nginx,命令:

/usr/local/nginx/nginx -s reload

6、状态查看

配置完成后在浏览器中输入http://ip:监听端口/NginxStatus查看,显示信息如下:

61b3f12fa8af40cbb726f9887f8c52ee.png

7、 参数说明

active connections – 活跃的连接数量

server accepts handled requests — 总共处理了107520387个连接 , 成功创建107497834次握手, 总共处理了639121056个请求

每个连接有三种状态waiting、reading、writing

reading —读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短。

writing — 响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长。

waiting — 开启keep-alive后等候下一次请求指令的驻留连接.

正常情况下waiting数量是比较多的,并不能说明性能差。反而如果reading+writing数量比较多说明服务并发有问题。

补充:

查看Nginx并发进程数:ps -ef | grep nginx | wc -l

查看Web服务器TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

四、nginx与php关联

nginx 与 php 怎么关联起来呢?我们先去 nginx 的工程路径下:/usr/local/nginx/html 新建一个同样的 info.php

然后, vi /usr/local/nginx/nginx.conf,将以下几行注释去掉,并且将 /scripts 改成 $document_root ;root 后面跟的是工程路径 ,默认是 html 下,如果要部署项目,可以自己定义去转发到相对应的路径下

location ~ \.php$ {

root html;

fastcgi_pass ;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

最后,重启 nginx ,就可以看到

ip:port/info.php。如果一直是 nofound ,那么就是 上面一步没配好

9ca2619d9349d96e216722529a5d85d9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值