CentOS7 上の nginx-181+mysql-5711+php-5533 環境用の LNMP ソース コードのインストール
lnmp 環境をインストールします:
環境は CentOS7 の最小インストールです。インストール中に、開発ツールなどのいくつかの開発ツールが選択されました (詳細は覚えていません)
nginx-1.8.1 mysql-5.7.11 php-5.5.33
要件:
MYSQL と NGINX のデータ ファイルとログ ファイルは /data に配置されます
インストール ディレクトリも /data/webserver に変更する必要があります
1. インストール パッケージをダウンロードし、インストール依存関係の環境を設定します
ファイアウォールのオープン ポートを設定します80 3306
# firewall-cmd -- z --add-port=80/tcp --permanent
# firewall-cmd --z --add-port=3306/tcp --permanent
# firewall-cmd --reload
selinux 設定を構成します
# vi /etc /selinux/config
# このファイルはシステム上の SELinux の状態を制御します。
# SELINUX= は次の 3 つの値のいずれかをとります:
# enforcing - SELinux セキュリティ ポリシーが強制されます。
# permissive - SELinux は、強制する代わりに警告を出力します。
# disabled - SELinux ポリシーはロードされません。
SELINUX=disabled
# SELINUXTYPE= は、次の 2 つの値のうちの 1 つを取ることができます。
# target - 対象のプロセスは保護されます。
# minimum - の変更対象のポリシー。選択されたプロセスのみが保護されます。
# mls - マルチレベル セキュリティ保護。
#SELINUXTYPE=targeted
インストール ディレクトリを作成します。
#mkdir -p /data/webserver/nginx
#mkdir /data/ webserver/mysql
#mkdir /data/webserver/ php
#mkdir /data/webserver/src (ソフトウェアダウンロードディレクトリ)
#mkdir /data/mysqldb (mysqlデータ格納ディレクトリ)
mysqlをダウンロード
#wget http://dev .mysql.com/get/Downloads/MySQL- 5.7/mysql-5.7.11.tar.gz
php をダウンロード
#wget http://cn2.php.net/distributions/php-5.5.33.tar.gz
nginx をダウンロード
#wget http://nginx.org/download/nginx-1.8.1.tar.gz
cmake (MySQL コンパイル ツール) をダウンロード
#wget http://www.cmake.org/files/v2.8 /cmake-2.8.8.tar.gz
pcre をダウンロード (nginx 擬似静的をサポート)
#wget http://sourceforge.net/projects/pcre/files/pcre/8.35/pcre-8.35.tar.gz
ダウンロードlibmcrypt (PHPlibmcrypt モジュール)
#wget http:// nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
ブーストのダウンロード (MySQL 以降ではブースト ライブラリが必要です) 5.7.5)
#wget http:// downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
#yum -y install make apr* autoconf automakecurl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd カーネル keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel
libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch mhash ntp --skip-broken
2. mysqlをインストールします
1. インストールパッケージを解凍します。 :
#cd /data/webserver/src
#ls *.tar.gz |xargs -n1 tar zxf
2. cmake をインストールします:
#cd /data/webserver/src/cmake-2.8.8
#./configure
#gmake && gmake install
3. mysql:
#cd /data/webserver/src/mysql-5.7.11
#cmake をインストールします。 -DCMAKE_INSTALL_PREFIX=/data/webserver/mysql -DMYSQL_DATADIR=/data/mysqldb -DSYSC - DWITH_BOOST =../boost_1_59_0 -DDOWNLOAD_BOOST=1
#make && make install
4. mysql を設定します
# groupadd mysql
# useradd -g mysql -s /sbin/nologin mysql
#cp /data/webserver/mysql/support- files /my-default.cnf /etc/my.cnf #設定ファイルをコピーします (注: デフォルトでは /etc ディレクトリに my.cnf があります。直接上書きしてください)
#/data/webserver/mysql/bin /mysqld --initialize --user=mysql --datadir=/data/mysqldb --basedir=/data/webserver/mysql/ --socket=/tmp/mysql.sock#mysql サーバーの文字列に注意してください。次のような、文字化けした mysql パスワードが生成されます: q> d,パスワードを取得: root@localhost に対して一時パスワードが生成されます: q>d,#cp /data/ webserver/mysql/support-files/mysql.server / etc/rc.d/init.d/mysqld #システム起動に Mysql を追加
#chmod 755 /etc/init.d/mysqld #実行権限を追加
#chkconfig mysqld on #bootに追加
#vi /etc/rc.d/init.d/mysqld #Edit
basedir = /data/webserver/mysql #MySQLプログラムのインストールパス
datadir = /data/mysqldb #MySQlデータベース格納ディレクトリ
#/ etc/init.d/mysqld start #Start
# /data/webserver/mysql/bin/mysql -uroot -p #mysql にログイン
>set password=password('zhulong123'); #パスワードを変更
#vi /etc/profile #mysql サービスをシステム環境変数に追加します: in 最後に次の行を追加します
export PATH=$PATH:/data/webserver/mysql/bin
次の 2 行は、myslq ライブラリ ファイルをシステムのデフォルトにリンクしますPHP などのソフトウェアをコンパイルするときに mysql を指定する必要がないように、ライブラリ ファイルのアドレスを指定します。
#ln -s /data/webserver/mysql/lib/mysql /usr/lib/mysql
#ln -s /data/webserver/mysql/include/mysql /usr/include/mysql
三、nginxのインストール
1、 PCREのインストール
#cd /data/webserver/src/pcre-8.35
#./configure --prefix=/data/webserver/pcre
#make && make install
#systemctl Enable ntpd.service
#systemctl start ntpd
2 、nginx
のインストール#groupadd www
#useradd -g www www -s /bin/false
#cd /data/webserver/src/nginx-1.8.1
#./configure --prefix=/data/webserver/nginx --without-http_memcached_module --error-log-path=/data/logs/nginx/error.log --http-log-path=/data/logs/nginx/error.log --pid-path=/data/ logs/nginx --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/
--with-pcre=/data/webserver/src/pcre-8.35
#make && make install
修正構成文件:
#vi /data/webserver/nginx/conf/nginx.conf
#修正nginx日志文件の目录
ユーザー www www;
worker_processes 1;
error_log /data/logs/nginx/error.log;
error_log /data/logs/nginx/error.log notice;
error_log /data/logs/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
3、nginx自启動を設置、以下のスクリプトを追加
#!/bin/bash
# nginx Nginx HTTP サーバーの起動スクリプト
#これは v.0.0.2 バージョンです。
# chkconfig: - 85 15
# description: Nginx は、高性能 Web およびプロキシ サーバーです。
# 多くの機能がありますが、すべての人に適しているわけではありません。
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/data/webserver/nginx/sbin/nginx
nginx_c/webserver/nginx/conf /nginx.conf
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# ソース関数ライブラリ
。 /etc/rc.d/init.d/functions
# ソースネットワーク構成
。 /etc/sysconfig/network
# ネットワークが稼働していることを確認します。
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# nginx デーモン関数を開始します。
start() {
if [ -e $nginx_pid ];then
echo "nginx はすでに実行されています..."
exit 1
fi
echo -n $"$prog の開始: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# nginx デーモンの機能を停止します。
stop () {
echo -n $"$prog の停止: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /data/logs/nginx /nginx.pid
}
# nginx サービス関数をリロードします。
reload() {
echo -n $"$prog を再読み込み中: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL= $?
echo
}
# 私たちがどのように呼ばれたかをご覧ください。
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
再起動)
停止
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"使用法: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
建立服务文件
# vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/www/lanmps/init.d/nginx start
ExecReload=/www/lanmps/init.d/nginx restart
ExecStop=/www/lanmps/init.d/nginx stop
PrivateTmp=true
[インストール]
WantedBy=multi-user.target
chmod 775 /etc/rc.d/init.d/nginx
chkconfig nginx on
/etc/rc.d/init.d/nginx restart
service nginx restart
四、インストールphp
1、libmcryptのインストール
#cd /data/webserver/src/libmcrypt-2.5.8
#./configure
#make
#nake install
2、PHPのインストール
#cd /data/webserver/src/php- 5.5.33
#./configure --prefix=/data/webserver/php --with-config-file-path=/data/webserver/php/etc --with-mysql=/data/webserver/mysql -- with-mysqli=/data/webserver/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml
--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable -gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip
--enable-soap --with-pear --with-gettext --enable-session --with-mcrypt --with-curl
#make && make install
3、構成php
#cp php.ini-production / data/webserver/php/etc/php.ini #复制phpの構成文例
#rm -rf /etc/php.ini
#ln -s /data/webserver/php/etc/php.ini /etc/php. ini
#cp /data/webserver/php/etc/php-fpm.conf.default /data/webserver/php/etc/php-fpm.conf #复制php-fpmの構成文件
#vi /data/webserver/ php/etc/php-fpm.conf
user = www #设設置php-fpm运行账号はwww
group = www #设設置php-fpm运行组はwww
pid = run/php-fpm.pid #取消前の分号
#cp /data/webserver/src/php-5.5.33/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm#採贝php-fpm到启アニメーション目录
#chmod +x /etc/rc.d/init.d/php-fpm #追加执行权制限
#chkconfig php-fpm on #设置开机启アニメーション
#vi /data/webserver/php/etc/php.ini #编辑構成文件
修正:date.timezone = PRC #設定時間区
4、構成nginxサポートphp
#vi /data/webserver/nginx/conf/nginx.conf #编辑構成文件,必要如下修正
user www www ; #首行ユーザー去掉注释、修正Nginx実行組織はwww,www; 必須/usr/local/php5/etc/php-fpm.conf内のユーザー、グループ構成が同じ、否かphp运行出错
indexindex.phpindex .htmlインデックス.htm; #追加index.php
# 127.0.0.1:9000でリッスンするFastCGIサーバーにPHPスクリプトを渡します
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_param SCRIPT_FILENAME $ document_root$fastcgi_script_name;
fastcgi_params を含める;
}
#取消FastCGIサーバー部分の場所の注釈、要注意fastcgi_param行のパラメータ、変更
$document_root$fastcgi_script_name、または使用绝对路径
/etc/init.d/nginx restart #重启nginx
五、测试
#cd /data/webserver/nginx/html/ #进入nginx默认网站根目录
#rm -rf /data/webserver/nginx/html/* #删除默认测试页
#viindex.php #编辑
php phpinfo(); ?>
chown www.www /data/webserver/nginx/html/ -R #设置目录所有者
chmod 700 /data/webserver/nginx/html/ -R #设置目录权制限
shutdown -r now #重启系统
以上は、CentOS7 の nginx-181+mysql-5711+php-5533 環境の LNMP ソース コードのインストールであり、側面の内容が含まれており、PHP 教則に関心のある友人の助けになることを望みます。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
