前置文章:

CentOS+Nginx+Tomcat+Mysql+PHP 环境篇

CentOS+Nginx+Tomcat+Mysql+PHP 配置篇(1)


6.7、安装nginx

yum install -y automake autoconf libtool make
yum install -y nginx
chkconfig nginx on
配置虚拟机
cd /etc/nginx
mkdir vhost                //放虚拟主机配置文件的位置
vi nginx.conf

在server{}中添加如下内容 在server的root下添加如下内容,默认首页文件名

index        index.php default.php index.html index.htm;

在server中添加支持PHP的语句

        location ~ .php$ {
            root html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

在http{}的最后,添加如下内容

    include vhost/*.conf;        //添加完成后保存退出
检查配置结果
nginx -t                 //检查nginx.conf及vhost下的配置文件是否正确
service php-fpm start  //启动PHP-FPM
service nginx restart    //重启nginx服务
虚拟主机配置示例
server {
listen 808;
server_name 10.17.162.113:808;
root /home/website/phpmyadmin/wwwroot;
location / {
index index.php index.html index.shtml;
}

location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /home/website/phpmyadmin/wwwroot$fastcgi_script_name;
include        fastcgi_params;
}

#log...
}
Nginx 反向代理转发(无条件访问HTTPS)
server {
         listen     80;
        server_name  域名;
        rewrite ^(.*)$  https://$host$1 permanent; 
        }
  server {
        listen       443;
        server_name  域名;
        ssl                  on;
        ssl_certificate      /etc/nginx/vhost/ssl/certificate.crt;
        ssl_certificate_key   /etc/nginx/vhost/ssl/private.key;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
         location / {
              client_max_body_size    16m;
              client_body_buffer_size 128k;
              proxy_pass                          https://10.17.162.113:6443;
              proxy_set_header    REMOTE-HOST $remote_addr;
              proxy_set_header        Host $host;
              proxy_set_header        X-Real-IP $remote_addr;
              proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header           X-Forwarded-Proto https;
              proxy_next_upstream   off;
              proxy_buffer_size 32k;
              proxy_buffers 64 32k;
              proxy_busy_buffers_size 1m;
              proxy_temp_file_write_size 512k;
              proxy_connect_timeout   30;
              proxy_read_timeout      300;
              proxy_send_timeout      300;
        }
    }
Nginx访问TomCat WebApps下某个目录
server {
        listen       80;
        server_name  域名;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
    location / {
                client_max_body_size    16m;
                client_body_buffer_size 128k;
                proxy_pass 具体域名或IP/文件夹/;
                proxy_set_header    REMOTE-HOST $remote_addr;
                proxy_set_header   Host $host; 
                proxy_set_header   X-Real-IP $remote_addr; 
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
                #root   html;
                #index  index.html;
                proxy_next_upstream   off;
                proxy_buffer_size 32k;
                proxy_buffers 64 32k;
                proxy_busy_buffers_size 1m;
                proxy_temp_file_write_size 512k;
                proxy_connect_timeout   30;
                proxy_read_timeout      300;
                proxy_send_timeout      300;
        }
        location /文件夹/ {
                client_max_body_size    16m;
                client_body_buffer_size 128k;
                proxy_pass 具体域名或IP/文件夹/;
                proxy_set_header    REMOTE-HOST $remote_addr;
                proxy_set_header   Host $host; 
                proxy_set_header   X-Real-IP $remote_addr; 
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
                #root   html;
                #index  index.html;
                proxy_next_upstream   off;
                proxy_buffer_size 32k;
                proxy_buffers 64 32k;
                proxy_busy_buffers_size 1m;
                proxy_temp_file_write_size 512k;
                proxy_connect_timeout   30;
                proxy_read_timeout      300;
                proxy_send_timeout      300;
        }
    }

6.8、JAVA开发环境安装

yum search java-1.8          //搜索java-1.7的版本
yum install -y java-1.8.0-openjdk-devel.x86_64      //安装java-1.8.0版本开发环境
cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/   //进入安装目录
环境配置
vi /etc/profile                                  //环境配置

在文件最后面,添加上

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64    //版本不同,路径不一样,需要注意这个问题
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
立即生效
source /etc/profile            //立即生效
测试
javac                                          //运行测试

显示以下内容说明配置成功

[root@TempLate ~]# javac
用法: javac <options> <source files>
其中, 可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名

注:若输入javac显示:bash: javac: 未找到命令… 则说明配置失败,检查环境变量路径是否正确。

6.8、Tomcat安装

sudo groupadd tomcat
sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
mkdir /root/software          //创建专用于存放下载的软件,个人习惯,也可放在/usr/local下等。
cd /root/software
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz
sudo tar -zxvf apache-tomcat-8.5.30.tar.gz -C /opt/tomcat --strip-components=1
cd /opt/tomcat
chmod -R 754 bin/
chgrp -R tomcat /opt/tomcat
chmod -R g+r conf
chmod g+x conf
chown -R tomcat webapps/ work/ temp/ logs/
创建服务启动文件
sudo vi /etc/systemd/system/tomcat.service

脚本内容如下:

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms1024M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

User=root
Group=root

[Install]
WantedBy=multi-user.target
配置生效
systemctl daemon-reload    //重载一下服务单元
systemctl enable tomcat.service
systemctl start tomcat.service

6.9、安装haveged

sudo yum install -y haveged
sudo systemctl start haveged.service
sudo systemctl enable haveged.service

访问 http://[Your-Host-IP]:8080 预览是否正常。


后续文章:

CentOS+Nginx+Tomcat+Mysql+PHP 配置篇(3)