本文打造易於複製貼上的lnmp安裝方法。
相比較其他編譯安裝的教程,本文解除了軟體版本鎖定,理論上,永遠安裝的是最新穩定版且支援軟體公升級。
編譯教程在寫作時往往使用當時的最新穩定版軟體,但是稍過時日,新的漏洞出來,很快會將讀者帶入危險,因為軟體已經過時了。嚴重不建議新手使用編譯方法安裝lnmp。
環境centos 6.5 x64
安裝第三方軟體源(epel、nginx、remi)
rpm -ivhrpm -ivh
rpm -ivh
yum一鍵安裝lnmp
yum install nginx mysql mysql-server php-fpm php-mysql php-cli php-gd php-xml php-mbstring php-mcrypt php-zendopcache --enablerepo=epel,nginx,remi
php引數配置
sed -i '/expose_php/' /etc/php.inised -i '/display_errors/' /etc/php.ini
sed -i '/php_errors.log/' /etc/php.ini
sed -i '/file_uploads/' /etc/php.ini
sed -i '/allow_url_fopen/' /etc/php.ini
sed -i '/allow_url_include/' /etc/php.ini
sed -i '/;date.timezone/' /etc/php.ini
sed -i '/cgi.fix_pathinfo\=/' /etc/php.ini
sed -i '/memory_limit/' /etc/php.ini
sed -i '/safe_mode/' /etc/php.ini
php-fpm配置
sed -i 's/apache/nginx/g' /etc/php-fpm.d/www.confsed -i '/request_terminate_timeout/' /etc/php-fpm.d/www.conf
核心優化
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.confecho "net.ipv4.route.max_size = 524288 " >> /etc/sysctl.conf
echo "net.core.somaxconn = 10240" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog = 204800" >> /etc/sysctl.conf
echo "net.core.netdev_max_backlog = 204800" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65535" >> /etc/sysctl.conf
echo "ulimit -shn 65535" >> /etc/profilecat >> /etc/security/limits.conf <
nginx基本優化
sed -i '/worker_processes/' /etc/nginx/nginx.conf
sed -i '/worker_processes/a\ worker_rlimit_nofile 65535;' /etc/nginx/nginx.conf
sed -i '/worker_connections/' /etc/nginx/nginx.conf
sed -i '/sendfile/a\ server_tokens off;' /etc/nginx/nginx.conf
sed -i '/version/' /etc/nginx/fastcgi_params
sed -i '/events/a\ use epoll;' /etc/nginx/nginx.conf
nginx的fpm基本配置,找到fastcgi選項,去掉注釋,修改下面這樣
location ~ \.php$
nginx頁面設定
mkdir -p /var/www/htmlsed -i 's#/usr/share/nginx/html#/var/www/html#g' /etc/nginx/conf.d/default.conf
sed -i 's/index.html/& index.php/' /etc/nginx/nginx.conf
echo "<?php phpinfo();phpinfo(info_modules);?>" >/var/www/html/index.php
mysql配置
有條件的話,給mysql單獨分個區作為datadir
[mysqld]
datadir=/data
其他引數可以參考/usr/share/mysql下的示例檔案
mysql基本加固,(設定密碼,限制訪問等)
mysql_secure_installation
iptables防火牆,需要根據自己設定,下面僅僅是個示例
cat >/root/firewall.sh <啟動服務
chkconfig nginx on
chkconfig php-fpm on
chkconfig mysqld on
/etc/init.d/php-fpm start
/etc/init.d/mysqld start
/etc/init.d/nginx start
通過瀏覽器訪問系統ip應該就已經能夠看到php資訊了。
--last update 2014-1-1
爛泥 centos6 yum方式公升級核心
本文由ilanniweb提供友情贊助,首發於爛泥行天下 最近沒有時間好久沒有寫文章了,今天由於需要安裝docker學習虛擬容器的知識,需要公升級os的核心。目前我這邊使用的os是,核心是版本的,如下 cat etc issue uname r 因為docker的使用需要以上核心的支援,當然也是可以使...
爛泥 centos6 yum方式公升級核心
本文由ilanniweb提供友情贊助,首發於爛泥行天下 最近沒有時間好久沒有寫文章了,今天由於需要安裝docker學習虛擬容器的知識,需要公升級os的核心。目前我這邊使用的os是centos6.5,核心是2.6版本的,如下 因為docker的使用需要3.0以上核心的支援,當然也是可以使用2.6的核心...
centos6 YUM安裝高版本lamp環境
預設的yum源中mysql php版本過低,新增新源 php高版本源 rpm uvh 安裝 yum search php php54w 就是新源中自帶的 安裝標紅的包即可php54中mysql建議使用mysqlnd擴充套件,此為內建擴充套件.安裝其他擴充套件也同理 yum seach memcach...