㈠ 阿里雲默認centos7上怎麼安裝php
一、配置防火牆,開啟80埠、3306埠
CentOS 7.0默認使用的是firewall作為防火牆,這里改為iptables防火牆。
1、關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
2、安裝iptables防火牆
yum install iptables-services #安裝
vi /etc/sysconfig/iptables #編輯防火牆配置文件
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最後重啟防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啟動
二、關閉SElinux
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
安裝篇:
一、安裝Apache
系統運維 www.osyunwei.com 溫馨提醒:qihang01原創內容©版權所有,轉載請註明出處及原文鏈
yum install httpd #根據提示,輸入Y安裝即可成功安裝
systemctl start httpd.service #啟動apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重啟apache
systemctl enable httpd.service #設置apache開機啟動
在客戶端瀏覽器中打開伺服器IP地址,會出現下面的界面,說明apache安裝成功
系統運維 www.osyunwei.com 溫馨提醒:qihang01原創內容©版權所有,轉載請註明出處及原文鏈
二、安裝MariaDB
CentOS 7.0中,已經使用MariaDB替代了MySQL資料庫
1、安裝MariaDB
yum install mariadb mariadb-server #詢問是否要安裝,輸入Y即可自動安裝,直到安裝完成
systemctl start mariadb.service #啟動MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重啟MariaDB
systemctl enable mariadb.service #設置開機啟動
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷貝配置文件(注意:如果/etc目錄下面默認有一個my.cnf,直接覆蓋即可)
2、為root賬戶設置密碼
mysql_secure_installation
回車,根據提示輸入Y
輸入2次密碼,回車
根據提示一路輸入Y
最後出現:Thanks for using MySQL!
MySql密碼設置完成,重新啟動 MySQL:
systemctl restart mariadb.service #重啟MariaDB
三、安裝PHP
1、安裝PHP
yum install php #根據提示輸入Y直到安裝完成
2、安裝PHP組件,使PHP支持 MariaDB
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
#這里選擇以上安裝包進行安裝,根據提示輸入Y回車
systemctl restart mariadb.service #重啟MariaDB
systemctl restart httpd.service #重啟apache
配置篇
一、Apache配置
vi /etc/httpd/conf/httpd.conf #編輯文件
ServerSignature On #添加,在錯誤頁中顯示Apache的版本,Off為不顯示
Options Indexes FollowSymLinks #修改為:Options Includes ExecCGI FollowSymLinks(允許伺服器執行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi#修改為:AddHandler cgi-script .cgi .pl (允許擴展名為.pl的CGI腳本運行)
AllowOverride None #修改為:AllowOverride All (允許.htaccess)
AddDefaultCharset UTF-8#修改為:AddDefaultCharset GB2312(添加GB2312為默認編碼)
#Options Indexes FollowSymLinks #修改為 Options FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html #修改為:DirectoryIndex index.html index.htm Default.html Default.htm index.php(設置默認首頁文件,增加index.php)
MaxKeepAliveRequests 500 #添加MaxKeepAliveRequests 500 (增加同時連接數)
:wq! #保存退出
systemctl restart httpd.service #重啟apache
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除默認測試頁
二、php配置
vi /etc/php.ini #編輯
date.timezone = PRC #把前面的分號去掉,改為date.timezone = PRC
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函數,如果某些程序需要用到這個函數,可以刪除,取消禁用。
expose_php = Off #禁止顯示php版本的信息
short_open_tag = ON #支持php短標簽
open_basedir = .:/tmp/ #設置表示允許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之後安裝程序有問題(例如:織夢內容管理系統),可以注銷此行,或者直接寫上程序的目錄/data/www.osyunwei.com/:/tmp/
:wq! #保存退出
systemctl restart mariadb.service #重啟MariaDB
systemctl restart httpd.service #重啟apache
測試篇
cd /var/www/html
vi index.php #輸入下面內容
<?php
phpinfo();
?>
:wq! #保存退出
在客戶端瀏覽器輸入伺服器IP地址,可以看到如下圖所示相關的配置信息!
注意:apache默認的程序目錄是/var/www/html
許可權設置:chown apache.apache -R /var/www/html
至此,CentOS 7.0安裝配置LAMP伺服器(Apache+PHP+MariaDB)教程完成!
㈡ 如何使用PHP實時監控Linux伺服器的cpu,內存,硬碟信息
1,Linux下可以在/proc/cpuinfo中看到每個cpu的詳細信息。但是對於雙核的cpu,在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。
其實應該通過Physical Processor ID來區分單核和雙核。而Physical Processor ID可以從cpuinfo或者dmesg中找到. flags 如果有 ht 說明支持超線程技術 判斷物理CPU的個數可以查看physical id 的值,相同則為同一個物理CPU
2,查看內存大小:
cat /proc/meminfo |grep MemTotal
3,其他一些可以查看詳細linux系統信息的命令和方法:
uname -a # 查看內核/操作系統/CPU信息的linux系統信息命令
head -n 1 /etc/issue # 查看操作系統版本,是數字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系統信息命令
hostname # 查看計算機名的linux系統信息命令
lspci -tv # 列出所有PCI設備
lsusb -tv # 列出所有USB設備的linux系統信息命令
lsmod # 列出載入的內核模塊
env # 查看環境變數資源
free -m # 查看內存使用量和交換區使用量
df -h # 查看各分區使用情況
-sh # 查看指定目錄的大小
grep MemTotal /proc/meminfo # 查看內存總量
grep MemFree /proc/meminfo # 查看空閑內存量
uptime # 查看系統運行時間、用戶數、負載
cat /proc/loadavg # 查看系統負載磁碟和分區
mount | column -t # 查看掛接的分區狀態
fdisk -l # 查看所有分區
swapon -s # 查看所有交換分區
hdparm -i /dev/hda # 查看磁碟參數(僅適用於IDE設備)
dmesg | grep IDE # 查看啟動時IDE設備檢測狀況網路
ifconfig # 查看所有網路介面的屬性
iptables -L # 查看防火牆設置
route -n # 查看路由表
netstat -lntp # 查看所有監聽埠
netstat -antp # 查看所有已經建立的連接
netstat -s # 查看網路統計信息進程
ps -ef # 查看所有進程
top # 實時顯示進程狀態用戶
w # 查看活動用戶
id # 查看指定用戶信息
last # 查看用戶登錄日誌
cut -d: -f1 /etc/passwd # 查看系統所有用戶
cut -d: -f1 /etc/group # 查看系統所有組
crontab -l # 查看當前用戶的計劃任務服務
chkconfig –list # 列出所有系統服務
chkconfig –list | grep on # 列出所有啟動的系統服務程序
rpm -qa # 查看所有安裝的軟體包
cat /proc/cpuinfo :查看CPU相關參數的linux系統命令
cat /proc/partitions :查看linux硬碟和分區信息的系統信息命令
cat /proc/meminfo :查看linux系統內存信息的linux系統命令
cat /proc/version :查看版本,類似uname -r
cat /proc/ioports :查看設備io埠
cat /proc/interrupts :查看中斷
cat /proc/pci :查看pci設備的信息
cat /proc/swaps :查看所有swap分區的信息
㈢ PHP如何將頁面顯示的內容寫入文件
以創建一個.txt文件並寫入「網路知道」四個字為例
1.網站根目錄下創建.php
2.在php文件內編寫如下代碼
<?php
$file=fopen(".txt",'w');
fwrite($file,"網路知道");
fclose($file);
3.瀏覽器中輸入:localhost/.php
4.根目錄下就會創建".txt"並寫入「網路知道」四字!
㈣ 求教如何用php腳本配置iptables
該命令PHP是否有許可權去執行你想過沒?
㈤ php 在linux下怎麼發布
PHP代碼的運行需要PHP的環境,你想發布也要考慮到代碼的上傳修改,網站的安全。如果希望在linux下發布代碼:
1、首先要在linux下配置PHP的環境,其中包括apache或者nginx伺服器的安裝,PHP的編譯,mysql資料庫的安裝。
2、其次要安裝一個ftp伺服器,這個用來上傳你的PHP程序代碼。可以安裝vsftp。
3、如果考慮到網站的安全,還需要簡單的配置網站的防火牆策略,可能要略微懂點iptables的運用
4、把你的代碼傳上去測試,因為明顯的區別是windows下面和linux下面文件大小寫的嚴格區分。
主要就是這些,你的PHP基本上就已經發布完畢,可以讓所有的人訪問你的網站了。很多linux下環境搭建的細節可以參考:雷雪松的個人博客--http://www.leixuesong.cn。
㈥ 運行php文件出現502 bad gateway 怎麼解決
確認php-fpm進程正常,然後從運行環境入手,調整超時和緩沖區大小配置。
例如一個 iptables + haproxy + nginx + php-fpm 運行環境,haproxy和nginx都可能觸發502,或許是你的php運行時間超出了haproxy或nginx的超時設置,或許是你的php輸出了大量的cookie數據等等。這個詳細的解答視頻我剛剛在後盾人看見了,專門針對你們的問題,還送價值兩千元的後盾人會員卡
㈦ 求教,如何在PHP上執行iptables的命令
可使用exec、system去處理,但是如果你開啟了安全模式,safe mode,你只能執行 safe_mode_exec_dir 目錄下的東西。
exec的函數原型為:string exec ( string $command [, array &$output [, int &$return_var ]] ),也就是說明了,持行命令完後將命令的標准輸出按回車符為行終結符放入$output這個變數,螞腔將命令最終返回值放入$return_var這個變數,並返回最後一行字元
system的簡敏函數原型為:string system ( string $command [, int &$return_var ] ),持行命令完後將命令的標攔物枝准輸出放入$return_var這個變數或將命令最終返回值放入$return_var這個變數。並返回首行字元
㈧ 開啟iptables後 nginx無法訪問php頁面了,但能訪問靜態頁面,如何解決謝謝!!
iptables中放行9000埠啊,你用的是php-fpm的fastcgi
㈨ 如何通過php連接遠程主機並操作
一、最佳方案是在77機器上安裝apache和php
二、可以通過管道控制使用telnet登錄77號機執行命令並獲取結果,ssh連接本人沒有做過,telnet方法如下:
$f=fopen("telnet://192.168.0.77","rw");
$s=fgets($fp);
fputs($fp,"root");
$s=fgets($fp);
fputs($fp,"pass");
$s=fgets($fp);
fputs($fp,"df -h");
while(!feof($fp)){
$fp=fgets($fp);
echo $s;
}
fclose($fp);
手機輸入真累~~~