whois nslookup geoIP 他、一番詳細に思います。
URLの後に、IPアドレスを入力してリクエストします。
Semakin di depan
備忘録しておきます。
接続文字列の chrset がないと文字化けすることがあります。
<?php
// 接続文字列 //
$CONN = "mysql:dbname=dbname;host=localhost;charset=utf8";
// 接続 //
$dbm = new PDO($CONN, "dbname", "?????????");
echo "MySQL Connected\n";
// MySQLランザクション開始 //
$dbm->beginTransaction();
/* ここに更新処理を入れる */
// MySQLコミット //
$dbm->commit();
// 切断 //
$dbm = null;
?>
|
[root@??? ???]# httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Nov 5 2018 01:47:09 [root@??? ????]# java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) [root@??? ???]# php -v PHP 7.1.25 (cli) (built: Dec 8 2018 13:52:58) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.25, Copyright (c) 1999-2018, by Zend Technologies [root@??? ????]# python --version Python 2.7.5 [root@??? ???]# perl -v | head -n 3 This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi (with 38 registered patches, see perl -V for more detail) [root@??? ???]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@???? ????]# mysql -uroot -p???????????_ --version mysql: [Warning] Using a password on the command line interface can be insecure. mysql Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL) [root@???? ????]# postfix -v postfix: name_mask: ipv4 postfix: inet_addr_local: configured 4 IPv4 addresses postfix/postfix-script: error: unknown command: '' postfix/postfix-script: fatal: usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration) [root@??? ???]# vsftpd -v vsftpd: version 3.0.2 [root@??? ???]# wget --version | head -n 1 GNU Wget 1.14 built on linux-gnu. [root@??? ???]# curl --version curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets [root@???? bin]# ./version.sh /usr/local/tomcat9/bin/setenv.sh: 行 3: /root: ディレクトリです Using CATALINA_BASE: /usr/local/???? Using CATALINA_HOME: /usr/local/???? Using CATALINA_TMPDIR: /usr/local/????/temp Using JRE_HOME: / Using CLASSPATH: /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar Server version: Apache Tomcat/9.0.10 Server built: Jun 20 2018 17:32:21 UTC Server number: 9.0.10.0 OS Name: Linux OS Version: 3.10.0-957.1.3.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_191-b12 JVM Vendor: Oracle Corporation root@??????:/?????# cat /etc/debian_version 7.11
/* MySQL */
SELECT VERSION();
/* Firebird */
SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION') from rdb$database;
/* PostgreSQL */
SELECT version();
/* SQL Server */
SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR(30));
/* SQL AnyWhere */
SELECT TOP 1 version
FROM SYSHISTORY
WHERE operation = 'START'
ORDER BY first_time_utc DESC;
/* sqlite */
select sqlite_version();
/* Oracle */
select * from v$version WHERE ROWNUM = 1;
|
|
|
|
|
|
|
プーリングコネクションするJNDIの設定を、server.xml に記述します。
[ 設定例 MySQL ]
<Resource
driverClassName="com.mysql.jdbc.Driver"
maxActive="300"
maxIdle="100"
maxWait="5000"
name="jdbc/DATABASE_NAME"
password="??????"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/DATABASE_NAME?characterEncoding=utf8&autoReconnect=true&useSSL=false"
username="??????"
validationQuery="select 1"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="60000"
/>
5.7系にバージョンアップした時、はまったのですが、非リモートサーバーのデータベースの場合、urlに useSSL=false を入れる必要あります。(ないと劇遅)
Oracleの中の人に教えてもらったのですが、同一ホスト内の場合、127.0.0.1 より localhost が速いそうです。
[ 設定例 Firebird ]
<Resource
name="jdbc/DATABASE_NAME"
type="javax.sql.DataSource"
driverClassName="org.firebirdsql.jdbc.FBDriver"
password="????????"
maxIdle="40"
maxWait="5000"
username="????????"
url="jdbc:firebirdsql:localhost/3050:DATABASE_NAME?lc_ctype=SJIS_0208"
maxActive="100"
/>
[ 設定例 Oracle ]
<Resource
name="jdbc/SID_NAME"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="SID_NAME"
maxIdle="40"
maxWait="5000"
username="????????"
url="jdbc:oracle:thin:@???.???.???.???:1521:SID_NAME"
maxActive="100"/>
[ 設定例 PostgreSQL ]
<Resource
name="jdbc/DBNAME"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
password="???????"
maxIdle="40"
maxWait="5000"
username="??????"
url="jdbc:postgresql://127.0.0.1/DBNAME"
maxActive="100"/>
[ 設定例 SQLServer ]
<Resource
name="jdbc/DBNAME"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
password="??????"
maxIdle="40"
maxWait="5000"
username="??????"
url="jdbc:sqlserver://???.????.???.???:1433;DatabaseName=DBNAME"
maxActive="100" />
|
|
|
httpd.conf に以下のような設定を入れます。
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 10.0.0.0/8
RemoteIPInternalProxy 192.0.0.0/8
RemoteIPInternalProxy ???.???.???.0/24
|
|
php.ini を以下の記述に変更します。
;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = Off
ない場合、下のような応答ヘッダーになり危険です。
httpd.conf に下の設定を追加します。
ServerTokens Prod
[ 設定がない場合のレスポンス ]
[ 設定がある場合のレスポンス ]
httpd.conf に以下のような記述を入れてます。
プロキシされてるサーバーなので、SSLの設定入れてませんが、必要な場合、ssl.confに同様の設定入れるとよいです。
<IfModule log_config_module> # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # ### last %D means micro second ### LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> # You need to enable mod_logio.c to use %I and %O LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost> # container, they will be logged here. Contrariwise, if you *do* # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. # #CustomLog "logs/access_log" common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # SetEnvIf User-Agent "ELB-HealthChecker.*" nolog #CustomLog "logs/access_log" combined env=!nolog CustomLog "|/usr/sbin/rotatelogs /home/Log/apache/access_log_%Y%m%d 86400 540" combined env=!nolog </IfModule>
|
コメントを投稿するにはログインしてください。