A. 怎樣在centos上手動安裝配置lnmp環境
在centos上手動安裝配置lnmp環境的方法
一、安裝所需的庫文件和編譯環境
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
二、安裝PHP和MySQL
yum -y install php mysql mysql-server mysql-devel php-mysql php-cgi php-mbstring php-gd php-fastcgi
service mysqld start //啟動mysql服務
chkconfig mysqld on //設置開機自動啟動
三、安裝nginx,由於CentOS沒有默認的nginx軟體包,需要啟用REHL的附件
1. rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
2. yum -y install nginx
chkconfig nginx on //設置開機啟動
service nginx start //啟動ngin服務
四、安裝spawn-fcgi來運行php-cgi //spawn-fcgi是用來調用php提供動態php格式的網頁
yum install spawn-fcgi
五、下載spawn-fcgi 的啟動腳本
1. wget http://bash.cyberciti.biz/dl/419.sh.zip //這是別人寫好的腳本,直接拿來用
2. unzip 419.sh.zip
3. mv 419.sh /etc/init.d/php_cgi
4. chmod +x /etc/init.d/php_cgi
/etc/init.d/php_cgi start //啟動php_cgi
1. netstat -tulpn | grep :9000 //查看進程,查看服務有沒有正常啟動,若出現如下代表一切正常
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4352/php-cgi
六、配置nginx
vim /etc/nginx/nginx.conf //下面就是修改nginx.conf配置文件
user nginx //修改ngin守護進程的用戶
worker_processes 4; //工作進程數,一般與 CPU 核數等同,但實際的可以多一些
error_log logs/error.log; //錯誤日誌位置
events {
worker_connections 2048;#每個工作進程允許最大的同時連接數,可以稍微大一些,1024的倍數
}
gzip on;
server {
listen 80;
server_name 192.168.175.208; //nginx伺服器地址
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; //這里SCRIPT_FILENAME後面指定的是nginx的網站目錄
include fastcgi_params;
}
把前面注釋全部去掉,找到
location / {
root /html;
index index.php index.html index.htm;
}
修改為如上所示 主要是添加index 後面的index.php
七、編寫腳本,測試nginx與php有沒有結合
vim /usr/share/nginx/html/index.php
<?php
phpinfo
?>
最後通過瀏覽器訪問伺服器測試是否成功,出現php信息頁面表示成功。
下面是我工作過程中遇到的一個問題。原來伺服器上安裝的有apache伺服器。但是現在要把圖片伺服器換成nginx,圖片伺服器裡面網頁跳轉的就不管用的。查找資料發現apache的rewrite規則需要轉換成nginx識別的規則才行,通過下面的網頁轉換後,在nginx.conf中添加
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ //先轉換原來的.htpaccess
然後在nginx.conf 中的server里添加這行內容,指定你的htaccess所在的位置
include /var/www/html/webshop/web/.htaccess;
小剛SEO為你解答