當前位置:首頁 » 操作系統 » centoslnmp源碼

centoslnmp源碼

發布時間: 2023-07-21 22:18:38

❶ CentOS 7 用戶怎樣安裝 LNMP

這個是官網的安裝配置手冊http://lnmp.org/install.html,你跟著這個步驟一步步來就可以成功安裝。

系統需求:

CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian linux系統
需要3GB以上硬碟剩餘空間
128M以上內存,Xen的需要有SWAP,OpenVZ的另外至少要有128MB以上的vSWAP或突發內存(小內存請勿使用64位系統),Mysql 5.6及MariaDB 10必須1G以上內存。
VPS或伺服器必須已經聯網,同時VPS/伺服器 DNS要正常!
Linux下區分大小寫,輸入命令時請注意!
LNMP一鍵安裝包 V1.2 已經在Linode、DiaHosting、PhotonVPS、DigitalOcean、遨遊主機、RamNode、BudgetVM、瑞豪開源、DirectSpace、KVMLA、OneAsiahost新加坡VPS、景文互聯、Hostigation、BuyVM、LocVPS、80VPS、VR香港VPS、XSVPS、快易互聯等眾多VPS的CentOS 5-7、RHEL 6-7、Fedora 21-22、Debian 5-8、Ubuntu 10.04-15.04的32位和64位系統上測試通過。
安裝步驟:
1、使用putty或類似的SSH工具登陸VPS或伺服器;
登陸後運行:screen -S lnmp
如果提示screen: command not found 命令不存在可以執行:yum install screen 或 apt-get install screen安裝,詳細的screen教程。
2、下載並安裝LNMP一鍵安裝包:
您可以選擇使用下載版(推薦國外或者美國VPS使用)或者完整版(推薦國內VPS使用),兩者沒什麼區別,只是完整版把一些需要的源碼文件預先放到安裝包里。
安裝LNMP執行:wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp
如需要安裝LNMPA或LAMP,將./install.sh 後面的參數替換為lnmpa或lamp即可。
如下載速度慢請更換其他下載節點,詳情請看下載頁面。LNMP下載節點具體替換方法。
按上述命令執行後,會出現如下提示:

需要設置MySQL的root密碼(不輸入直接回車將會設置為root),輸入後回車進入下一步,如下圖所示:

這里需要確認是否啟用MySQL InnoDB,如果不確定是否啟用可以輸入 y ,輸入 y 表示啟用,輸入 n 表示不啟用。默認為y 啟用,輸入後回車進入下一步,選擇MySQL版本:

輸入MySQL或MariaDB版本的序號,回車進入下一步,選擇php版本:

輸入PHP版本的序號,回車進入下一步,選擇是否安裝內存優化:

可以選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車。
如果是LNMPA或LAMP的話還需要設置管理員郵箱

再選擇Apache版本

提示"Press any key to install...or Press Ctrl+c to cancel"後,按回車鍵確認開始安裝。
LNMP腳本就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer這幾個軟體。
安裝時間可能會幾十分鍾到幾個小時不等,主要是機器的配置網速等原因會造成影響。
3、安裝完成
如果顯示Nginx: OK,MySQL: OK,PHP: OK

並且Nginx、MySQL、PHP都是running,80和3306埠都存在,並Install lnmp V1.2 completed! enjoy it.的話,說明已經安裝成功。
接下來按添加虛擬主機教程,添加虛擬主機,通過sftp或ftp伺服器上傳網站,將域名解析到VPS或伺服器的IP上,解析生效即可使用。
4、安裝失敗

如果出現類似上圖的提示,則表明安裝失敗,說明沒有安裝成功!!需要用winscp或其他類似工具,將/root目錄下面的lnmp-install.log下載下來,到LNMP支持論壇發帖註明你的系統發行版名稱及版本號、32位還是64位等信息,並將lnmp-install.log壓縮以附件形式上傳到論壇,我們會通過日誌查找錯誤,並給予相應的解決方法。

5、添加、刪除虛擬主機及偽靜態管理
http://lnmp.org/faq/lnmp-vhost-add-howto.html
6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安裝
http://lnmp.org/faq/addons.html
7、LNMP相關軟體目錄及文件位置
http://lnmp.org/faq/lnmp-software-list.html
8、LNMP狀態管理命令
http://lnmp.org/faq/lnmp-status-manager.html

❷ centos配置lnmp問題,整個環境都配置成功了,Php-fpm啟動老是報錯卻又啟動成功,如何解決

一、安裝httpd。
yum install -y httpd
安裝完成之後使用以下命令啟動httpd服務:
systemctl start httpd.service #啟動apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重啟apache
systemctl enable httpd.service #設置apache開機啟動 可以在瀏覽器中輸入伺服器所在的主機的IP即可看到apache的歡迎界面。要在另外一台主機上實現這種訪問,需要關閉系統的防火牆。 在CentOS7中,修改防火牆的機制已經做了修改,在CentOS 6.x系統中可以使用以下命令:
service iptables stop
chkconfig iptables off // 開機禁止啟動
而在CentOS7中只能使用以下命令,如果使用上面的命令並不會報任何錯誤,但是起不到關閉防火牆的效果:
systemctl stop firewalld.service
systemctl disable firewalld.service //禁止防火牆開機啟動關閉SeLinux:
使用getenforce命令可以查看SeLinux的狀態,SeLinux有三種狀態,分別為enforcing、permissive和disabled。因為我們的伺服器只在內部使用,所以這里我們選擇完全關閉(disabled)。具體的做法為修改/etc/sysconfig/selinux文件,具體操作可以看裡面的說明。
成功安裝httpd(apache)的效果圖為:
二、安裝MySQL資料庫
MySQL資料庫,新版本已經更名為Mariadb,所以這里需要安裝Mariadb,可以使用下面的命令進行安裝:
yum install -y mariadb
安裝完成以後使用下面的命令開啟資料庫服務:
systemctl start mariadb.service #啟動MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重啟MariaDB
systemctl enable mariadb.service #設置開機啟動
三、安裝PHP。
使用下面的命令可以安裝PHP:
yum -y install 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
使用下面的命令重啟Mariadb和httpd服務:
systemctl restart mariadb.service #重啟MariaDB
systemctl restart httpd.service #重啟apache

❸ CentOS 7 用戶怎樣安裝 LNMP

配置安裝
基於 YUM 特性,可以簡單快速的安裝 LNMP 環境。

配置 YUM 源
CentOS 7 的 默認 YUM 源里的軟體包版本可能不是最新的,如果要安裝最新的軟體包就得配置下 YUM 源。
配置 YUM 源可以通過直接安裝 RPM (Red Hat Package Manager) 包,或者修改 Repository,本文講解通過安裝 RPM 方式。
首先需要安裝 EPEL ( Extra Packages for Enterprise Linux ) YUM 源,用以解決部分依賴包不存在的問題:
yum install -y epel-release

接著是 MySQL YUM 源,MySQL 官網給出了配置教程,因為本文章講解的是 CentOS 7,我們只需要安裝對應的 RPM 包就行了。
安裝 RPM 包前需要導入 RPM-GPG-KEY 文件,不然安裝過程會出錯。
將 MySQL RPM-GPG-KEY 另存為 mysql_pubkey.asc 並導入 :
rpm --import mysql_pubkey.asc

導入後安裝 CentOS 7 的 MySQL RPM 包:
rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

然後是 PHP YUM 源,PHP 最新的 RPM 包,可以使用 Remi's RPM repository。
導入 PHP RPM-GPG-KEY (remi):
rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi

安裝 PHP RPM (remi) 包:
rpm -Uvh http://remi.mirrors.arminco.com/enterprise/remi-release-7.rpm

最後是 Nginx YUM 源,Nginx 官網也給出了配置教程。
導入 Nginx RPM-GPG-KEY:
rpm --import http://nginx.org/packages/keys/nginx_signing.key

安裝 Nginx RPM 包:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

到目前為止,YUM 源已經安裝好了 ,接著進行下一步的配置。
MySQL YUM 源默認是啟用的 MySQL-5.6,PHP YUM 源默認都沒有啟用,Nginx YUM 源默認是啟用的 Nginx-1.8。
定位到 /etc/yum.repos.d/,對 後綴為 .repo 的文件進行編輯,修改 enabled 為 1 以啟用。
啟用 PHP-7.0 :
1、修改 /etc/yum.repos.d/remi.repo,將 [remi] 和 [remi-test] 下面的 enabled=0 改為 enabled=1;
2、修改 /etc/yum.repos.d/remi-php70.repo,將 [remi-php70] 下面的 enabled=0 改為 enabled=1;
sed -i "/remi\/mirror/{n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi.repo
sed -i "/test\/mirror/{n;n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi.repo
sed -i "/php70\/mirror/{n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi-php70.repo

到這一步 YUM 配置就算完成了,清除並生成 YUM 緩存使之生效:
yum clean all
yum makecache

安裝 MySQL + PHP + Nginx + phpMyAdmin
YUM 源已經配置好了,現在直接安裝 MySQL + PHP + Nginx + phpMyAdmin:
yum install -y mysql-community-server nginx php php-bcmath php-fpm php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pdo_dblib php-pgsql php-recode php-snmp php-soap php-xml php-pecl-zip phpMyAdmin

註:上面安裝的 php-* 可以根據實際使用情況選擇安裝
安裝完成後,進行下一步的環境配置,MySQL 配置文件在 /etc/my.cnf.d/,PHP 配置文件在 /etc/php-fpm.d/,Nginx 配置文件在 /etc/nginx/ ,phpMyAdmin 的配置文件在 /etc/phpMyAdmin/。

配置 MySQL
MySQL 配置文件保持默認,運行一次安全配置即可。
啟動 MySQL:
systemctl start mysqld.service

安全配置 MySQL:
設置 root 密碼、刪除匿名用戶、禁止 root 遠程登錄、刪除 test 資料庫、重新載入許可權表,一路 Y 下去
mysql_secure_installation

配置 PHP
PHP 默認配置文件使用的是監聽 9000 埠進行通信,針對小型單一、沒有做負債均衡的伺服器,可以使用 unix sock 方式通信。
使用 unix sock 方式需要修改 PHP 配置文件:
#更換監聽方式
listen = /dev/shm/php-fpm-default.sock

#監聽隊列最大長度為不限
listen.backlog = -1
#指定監聽用戶和用戶組(需存在)
listen.owner = www
listen.group = www

啟動 PHP-FPM:
systemctl start php-fpm.service

配置 Nginx
讓伺服器默認訪問顯示為 400 提示頁。
#新建名為 nginx-default.conf 的配置文件
touch /etc/nginx/conf.d/nginx-default.conf
#編輯配置文件
vi /etc/nginx/conf.d/nginx-default.conf

將以下信息輸入到 nginx-default.conf
server
{
listen 80 default;
return 400;
}

按下 Esc,輸入 :x 保存並退出。
防火牆放行 HTTP 埠訪問:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

啟動 Nginx:
systemctl start nginx.service

這時,在瀏覽器地址欄輸入當前伺服器 IP 就會看到一個 400 的提示頁面了。
進階!綁定域名+站點目錄+保存日誌+運行 PHP的配置文件:
server
{
listen 80; #監聽80埠
server_name default.com www.default.com; #綁定域名 default.com 和 www.default.com
index index.html index.htm index.php; #設置首頁文件,越前優先順序越高
charset utf-8; #設置網頁編碼

root /home/wwwroot/default; #設置站點根目錄

#運行 PHP
location ~ .*\.php$
{
fastcgi_pass 127.0.0.1:9000 #默認使用9000埠和PHP通信
#fastcgi_pass unix:/dev/shm/php-fpm-default.sock; #使用 unix sock 和PHP通信
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /home/wwwroot/default; #PHP 文檔根目錄
fastcgi_param SCRIPT_FILENAME /home/wwwroot/default$fastcgi_script_name; #PHP 腳本目錄
include fastcgi_params;
try_files $uri = 404;
}

#設置文件過期時間
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
{
expires 30d;
}

#設置文件過期時間
location ~ .*\.(js|css)$
{
expires 12h;
}

#設置文件訪問許可權
location ~* /templates(/.*)\.(bak|html|htm|ini|old|php|tpl)$ {
allow 127.0.0.1;
deny all;
}

#設置文件訪問許可權
location ~* \.(ftpquota|htaccess|htpasswd|asp|aspx|jsp|asa|mdb)?$ {
deny all;
}

#保存日誌
access_log /var/log/nginx/default-access.log main;
error_log /var/log/nginx/default-error.log crit;
}

配置 phpMyAdmin
# 編輯配置文件
vi etc/phpMyAdmin/config.inc.php

修改以下內容:
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['UploadDir'] = '/tmp';
$cfg['SaveDir'] = '/tmp';

如果Nginx使用的是上面的進階代碼,那麼把 phpMyAdmin 的目錄 復制到 /home/wwwroot/default/phpMyAdmin/ 下面,就可通過 http://default.com/phpMyAdmin 訪問了:
#復制 phpMyAdmin 目錄
cp -a /usr/share/phpMyAdmin /home/wwwroot/default/

#替換連接形式為目錄
rm -rf /home/wwwroot/default/phpMyAdmin/doc/html
cp -a /usr/share/doc/phpMyAdmin-<span class="pl-k">*</span>/html /home/wwwroot/default/phpMyAdmin/doc/

一鍵腳本
上面已經講解了如何配置和安裝,但是不能每次都這么一步一步來吧?為了節省時間,麥蔥寫了一個一鍵安裝管理腳本,可選擇安裝 Nginx 1.8/1.9、 MySQL 5.5/5.6/5.7 和 PHP 5.5/5.6/7.0。
安裝
yum install -y unzip

wget https://github.com/maicong/LNMP/archive/master.zip

unzip master.zip

cd LNMP-master

bash lnmp.sh

# 輸出到指定文件
# bash lnmp.sh 2>&1 | tee lnmp.log

管理站點
service vhost (start,stop,list,add,edit,del,exit) <domain> <server_name> <index_name> <rewrite_file> <host_subdirectory>

start 啟動
stop 停止
list 列出
add 添加
edit 編輯
del 刪除
exit 什麼都不做
<domain>: 配置名稱,例如:domain
<server_name>: 域名列表,例如:domain.com,www.domain.com
<index_name>: 首頁文件,例如:index.html,index.htm,index.php
<rewrite_file>: 偽靜態規則文件,保存在 /etc/nginx/rewrite/ 例如:nomal.conf
<host_subdirectory>: 是否支持子目錄綁定,on 或者 off
示例:
#添加一個標識為 domain 的站點
service vhost add domain domain.com,www.domain.com index.html,index.htm,index.php nomal.conf on

#啟動標識為 domain 的站點
service vhost start domain

#停止標識為 domain 的站點
service vhost stop domain

#編輯標識為 domain 的站點
service vhost edit domain

#刪除標識為 domain 的站點
service vhost del domain

#列出所有站點
service vhost list

備份數據
service vbackup (start,list,del) <delete name.tar.gz>

start 添加
list 列出
del 刪除
示例:
#添加一個新的備份
service vbackup start

#列出備份文件
service vbackup list

#刪除一個備份
service vbackup del name.tar.gz

❹ CentOS 7 用戶怎樣安裝 LNMP

LNMP一般是指Linux + Nginx+MySQL + PHP.

1、Nginx安裝

[root@Linux ~]# yum -y install gcc gcc-c++ autoconf automake openssl openssl-devel pcre-devel zlib-devel #安裝編譯軟體庫

[root@Linux ~]# wget http://nginx.org/download/nginx-1.6.2.tar.gz #下載nginx 1.6.2源碼包

[root@Linux ~]# tar zxvf nginx-1.6.2.tar.gz

[root@Linux ~]# cd nginx-1.6.2

[root@Linux nginx-1.6.2]# ./configure --with-http_stub_status_mocule --prefix=/opt/nginx #編譯設置模塊

[root@Linux nginx-1.6.2]# make && make install安裝

[root@Linux ~]# /opt/nginx/sbin/nginx -s reload #nginx重新啟動

[root@Linux ~]# /opt/nginx/sbin/nginx #nginx啟動

[root@Linux ~]# /opt/nginx/sbin/nginx -t #nginx檢測配置

2、PHP的安裝和配置

[root@Linux ~]# yum install -y gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel mysql mysql-devel #安裝php依賴軟體庫

[root@Linux ~]# wget http://am1.php.net/distributions/php-5.6.3.tar.gz #下載php5.6源碼包

[root@Linux ~]# tar -zxvf php-5.6.3.tar.gz

[root@Linux ~]# cd php-5.6.3

[root@Linux php-5.6.3]# ./configure --prefix=/usr/local/php --with-mysql=mysqlnd--with-mysqli=mysqlnd --enable-fpm --with-pear --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv --with-mhash --with-zlib --enable-mbstring --disable-debug #編譯設置模塊

[root@Linux php-5.6.3]# make && make install #編譯安裝

[root@Linux php-5.6.3]# cp php.ini-proction /opt/php/lib/php.ini #復制php配置文件

[root@Linux php-5.6.3]# /opt/php/sbin/php-fpm #啟動php-fpm

[root@Linux php-5.6.3]# /opt/php/sbin/php-fpm -t #檢測配置是否正確

在centos上成功編譯安裝nginx 1.6、php 5.6並成功啟動nginx和php-fpm後,訪問php提示」File not found.」,同時在錯誤日誌中看到:

2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: 「Primary script unknown」 while reading response header from upstream, client: 192.168.168.1, server: localhost, request: 「GET / HTTP/1.1″, upstream: 「fastcgi://127.0.0.1:9000″, host: 「192.168.168.133」:

在Nginx配置文件中找到定義調用腳本文件的地方,如:

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

修改成如下方式($document_root):

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

nginx gzip設置

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

gzip_types text/plain application/x-javascript text/css applocation/xml;

gzip_vary on;

3、MySQL的安裝

[root@lamp ~]# yum install mysql mysql-server mysql-devel
啟動mysql服務:/etc/init.d/mysqld start

設置mysql密碼:
直接使用」mysql」進入資料庫模式,
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD(『newpassword』) WHERE user=』root';
mysql> FLUSH PRIVILEGES;

來源:PHP程序員雷雪松的博客

❺ 如何快速搭建LNMP環境

1.先准備一台虛擬機,並配好yum源
我准備的是一台RedHat 7.4版本的虛擬機,使用的是redhat7的光碟鏡像作為yum源

2.下載所需軟體包

3.解壓lnmp_soft.tar.gz
[root@localhost ~]# tar -xf lnmp_soft.tar.gz

4.進入lnmp_soft目錄,執行install_lnmp.sh腳本
[root@localhost lnmp_soft]# ./install_lnmp.sh

5.程序主頁面
6.安裝nginx,mariadb,php等軟體包
6.1 按 「1」 安裝nginx

首先會安裝依賴包,然後再源碼安裝nginx。
6.2 按 「2」 安裝mariadb
6.3 按 「3」 安裝php

7.啟動服務

7.1 啟動nginx服務

[root@localhost lnmp_soft]# ln -s /usr/local/nginx/sbin/nginx /sbin/ //做一個軟連接

[root@localhost lnmp_soft]# nginx //啟動服務

7.2 啟動mariadb服務

[root@localhost lnmp_soft]# systemctl restart mariadb.service

7.3啟動php-fpm服務

[root@localhost lnmp_soft]# systemctl restart php-fpm.service

8.修改nginx.conf主配置文件實現動靜分離,修改完配置文件重啟服務
8.1 [root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf
修改65-71行實現動靜分離,先把65-71行的注釋打開,然後對比下面進行更改。

65 location ~ \.php$ {66 root html;67 fastcgi_pass 127.0.0.1:9000;68 fastcgi_index index.php;69 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; //把這一行注釋70 include fastcgi.conf; //把後綴改為.conf71 }

8.2 修改完nginx.conf,需要讓nginx重新讀取配置文件(重啟服務)

[root@localhost html]# nginx -s stop
[root@localhost html]# nginx

9.部署測試頁面
[root@localhost html]# cp /root/lnmp_soft/php_scripts/mysql.php /usr/local/nginx/html/

[root@localhost html]# ls

50x.html index.html mysql.php
10.瀏覽器測試LNMP環境是否搭建成功

[root@localhost html]# firefox http://192.168.4.100/mysql.php

❻ LNMP環境的搭建與配置(二)

在上一篇中,我假定了一個搭建個人博客網站的目標,並選擇使用 LNMP(CentOS+Nginx+Mariadb+PHP) 作為網站開發環境。以下則分部介紹如何搭建這樣的一個環境。

搭建網站的整個過程中會用到很多工具,這里我們使用Windows10作為工作環境,暫時簡單的匯總一下需要使用的工具,以後想到或者遇到更好的工具,再做替換吧...

使用Xshell登錄到雲伺服器

完成第二部分,你基本基本已經安裝成功 LNMP 環境了,在安裝過程中,可能會遇到一些問題,可以網路搜索下,或者可以在評論區留言。

安裝完成 LNMP 環境後,接下來要做的就是為你的伺服器添加網站了。基本按照以下幾個步驟:

搭建一個網站首先要考慮的是要有一個域名,推薦去阿里雲購買一個屬於自己的域名,也可以去 godaddy.com 購買。這里要注意的是,如果你的伺服器是在國內,在搭建網站前要先對的域名進行ICP備案。備案方法阿里雲都有提供,當然了,如果你用的是國外的伺服器,或者港澳台的,就不必備案了。備案提交後需要等10個工作日左右的時間才能通過。

Linux 里, 目錄 就是windows中文件夾的意思, 網站目錄 就是你存放網站文件的文件夾,你可以新建這個文件夾,然後給予這個 文件夾 一定的管理許可權,並且這個文件夾只存放網站的相關文件而不存放其他文件。

Centos 系統中,創建文件夾使用的是 mkdir 這個命令。關於Centos中常用的命令在另一篇文章中我會總結出來,常用的也就十幾個吧,當然,如果想熟練掌握 Linux 的命令行則需要漫長的學習,推薦看下 鳥哥的Linux私房菜 一書。

比如現在你買了 test.com 這個域名,接下來你可以創建一個名叫test.com的文件夾(文件愛夾的名字可以隨意,為了方便一般用域名作為文件夾名),並且想把它放在 /mnt/www/ 目錄下。

這樣你就創建好了 test.com 這個域名的專用的網站文件夾,你可以在這個文件夾里上傳一些網頁文件了,或者你可以將一些CMS軟體包解壓到這個文件夾里了。

先小結一下進度,你准備搭建一個叫 www.test.com 的網站。現在,你已經購買了一個叫 test.com 的域名並且解析到了伺服器的IP,配置好了基本的 LNMP 環境,創建好了 test.com 專用的網站文件夾 test.com/

如果你現在打開瀏覽器訪問 test.com 你會發現顯示的只是 nginx 的歡迎頁面。這是因為到目前為止,nginx並不知道你創建了一個網站文件夾,也不清楚你的域名應該「接待」到哪裡,所以你需要配置一個網站專用的 nginx.conf 文件,你可以把這個文件命名為 test.com.conf ,並且把他放在 nginx/conf.d 下。注意: nginx/ 文件在 Centos 系統下,默認的存放路徑是 /etc/nginx

這里你可以使用到 vim 命令。具體如下:

至此,你的nginx配置成功了。這時候在重啟以下 nginx 使得新增的配置文件生效。

到這里可以再總結一下進度了:

完成以上幾步,現在打開瀏覽器登錄test.com網址,應該可以成功訪問了,當然你要現在網站目錄里上傳一些自己做好的網頁文件。

關於 LNMP 環境的搭建與配置基本就是這樣了,中間你可能會遇到各種各樣的麻煩或報錯,別氣餒,多網路谷歌,或者留言,相信自己總會成功的~

❼ CentOS 7 用戶怎樣安裝 LNMP

1.配置好IP、DNS 、網關,確保使用遠程連接工具能夠連接伺服器
2.配置防火牆,開啟80埠、3306埠
3.vi /etc/sysconfig/iptables #編輯防火牆配置文件
4.-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允許80埠通過防火牆)
5.-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306埠通過防火牆)
6.特別提示:很多網友把這兩條規則添加到防火牆配置的最後一行,導致防火牆啟動失敗。
7.正確的應該是添加到默認的22埠這條規則的下面,添加好之後防火牆規則如下所示:
#########################################################
# 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
#########################################################
/etc/init.d/iptables restart #最後重啟防火牆使配置生效
關閉SELINUX
vi /etc/selinux/config #編輯
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq #保存退出
shutdown -r now #重啟系統
系統約定
軟體源喚返游代碼包存放位置:/usr/local/src
源碼包編譯安裝位置:世碼/usr/local/軟體名字
下載軟體包
1.下載nginx
http://nginx.org/download/nginx-1.2.0.tar.gz
2、下載pcre (支持nginx偽靜態)
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
3、下載MySQL(目前穩定版)
http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/mysql-5.5.25.tar.gz
由於版本更新可能以前版本已不存在,可http://mysql.mirror.kangaroot.net/Downloads下載相應版本。
4、下載php
http://www.php.net/releases/
5、下載cmake(MySQL編譯工具)和銷
http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
6、下載libmcrypt(PHPlibmcrypt模塊)
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
安裝編譯工具及庫文件(使用CentOS yum命令安裝)
yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel 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 freetype-devel
安裝篇
安裝cmake
cd /usr/local/src
tar zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure make #編譯
make install #安裝
安裝MySQL
groupadd mysql #添加mysql組
useradd -g mysql mysql -s /bin/false #創建用戶mysql並加入到mysql組,不允許mysql用戶直接登錄系統
mkdir -p /data/mysql #創建MySQL資料庫存放目錄
chown -R mysql:mysql /data/mysql #設置MySQL資料庫目錄許可權
mkdir -p /usr/local/mysql #創建MySQL安裝目錄
cd /usr/local/src
tar zxvf mysql-5.5.25.tar.gz #解壓
cd mysql-5.5.25
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置
make #編譯
make install #安裝
cd /usr/local/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf #拷貝配置文件(注意:如果/etc目錄下面默認有一個my.cnf,直接覆蓋即可)
vi /etc/my.cnf #編輯配置文件,在 [mysqld] 部分增加下面一行
datadir = /data/mysql #添加MySQL資料庫路徑
:wq! #保存退出
./scripts/mysql_install_db --user=mysql #生成mysql系統資料庫
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系統啟動
chmod 755 /etc/init.d/mysqld #增加執行許可權
chkconfig mysqld on #設置開機啟動
vi /etc/rc.d/init.d/mysqld #編輯
basedir = /usr/local/mysql #MySQL程序安裝路徑
datadir = /data/mysql #MySQl資料庫存放目錄
service mysqld start #啟動
vi /etc/profile #把mysql服務加入系統環境變數:在最後添加下面這一行
export PATH=$PATH:/usr/local/mysql/bin
:wq! #保存退出
下面這兩行把myslq的庫文件鏈接到系統默認的位置,在編譯類似PHP等軟體時可以不用指定mysql的庫文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now #需要重啟系統,等待系統重新啟動之後繼續在終端命令行下面操作
mysql_secure_installation #設置Mysql密碼
根據提示按Y 回車(默認密碼為空)
然後輸入2次密碼
繼續按Y 回車,直到設置完成
或者直接修改密碼/usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密碼
service mysqld restart #重啟
到此,mysql安裝完成
安裝pcre
cd /usr/local/src
mkdir /usr/local/pcre #創建安裝目錄
tar zxvf pcre-8.30.tar.gz
cd pcre-8.30
./configure --prefix=/usr/local/pcre #配置
make
make install
安裝 nginx
cd /usr/local/src
groupadd www #添加www組
useradd -g www www -s /bin/false #創建nginx運行賬戶www並加入到www組,不允許www用戶直接登錄系統
tar zxvf nginx-1.2.0.tar.gz
cd nginx-1.2.0
./configure --prefix=/usr/local/nginx --without-http_memcached_mole --user=www --group=www --with-http_stub_status_mole --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.30
#注意:--with-pcre=/usr/local/src/pcre-8.30指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報錯
make
make install
/usr/local/nginx/sbin/nginx #啟動nginx
vi /etc/rc.d/init.d/nginx #設置nginx開啟啟動,編輯啟動文件添加下面內容
#################################################################
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;

status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
#################################################################
:wq! #保存退出
chmod 775 /etc/rc.d/init.d/nginx #賦予文件執行許可權
chkconfig nginx on #設置開機啟動
/etc/rc.d/init.d/nginx restart #重啟
安裝libmcrypt
cd /usr/local/src
tar zxvf libmcrypt-2.5.7.tar.gz #解壓
cd libmcrypt-2.5.7 #進入目錄
./configure #配置
make #編譯
make install #安裝
安裝php
cd /usr/local/src
tar -zvxf php-5.3.13.tar.gz
cd php-5.3.13
mkdir -p /usr/local/php5 #建立php安裝目錄
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml --enable-magic-quotes --enable-safe-mode --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 --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --with-jpeg-dir --with-freetype-dir #配置
make #編譯
make install #安裝
cp php.ini-proction /usr/local/php5/etc/php.ini #復制php配置文件到安裝目錄
rm -rf /etc/php.ini #刪除系統自帶配置文件
ln -s /usr/local/php5/etc/php.ini /etc/php.ini #添加軟鏈接
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf #拷貝模板文件為php-fpm配置文件
vi /usr/local/php5/etc/php-fpm.conf #編輯
user = www #設置php-fpm運行賬號為www
group = www #設置php-fpm運行組為www
pid = run/php-fpm.pid #取消前面的分號
cp /usr/local/src/php-5.3.13/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #設置 php-fpm開機啟動,拷貝php-fpm到啟動目錄
chmod +x /etc/rc.d/init.d/php-fpm #添加執行許可權
chkconfig php-fpm on #設置開機啟動
vi /usr/local/php5/etc/php.ini #編輯配置文件
注意:取消FastCGI server部分location的注釋,並要注意fastcgi_param行的參數,改為/data/webroot/(此為網站根目錄絕對路徑)$fastcgi_script_name
/etc/init.d/nginx restart #重啟nginx
測試篇
訪問http://ip地址 出現歡迎使用nginx,說明配置成功。默認web目錄 /usr/local/nginx/html/可以自己寫程序測試PHP是否可用。

❽ CentOS 7 用戶怎樣安裝 LNMP

LNMP是一個基於CentOS編寫的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一鍵安裝包。可以在獨立主機上輕松的安裝LNMP生產環境。
一、獲取lnmp源碼
1、打開網路,輸入lnmp,打開第一個lnmp官網,裡面含有很豐富的信息,這里先下載最新版的安裝包
2、通過wget http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz 下載,選擇其他下載地址也可以的;

二、安裝lnmp
1、解壓tar -xvf lnmp1.2-full.tar.gz ;
2、進入 源碼目錄cd lnmp1.2-full/
3、執行./install.sh開始配置,配置完提示Press any key to install...or Press Ctrl+c to cancel,回車後自動編譯安裝,過程比較漫長,好好等待;
4、安裝完成,雖然等待了很久。但是安裝完成了很開心。

三、lnmp基本操作
1、開啟關閉lnmp服務;
2、訪問主要,phpinfo等,驗證是否安裝成功;
3、在web根目錄下編寫腳本訪問,通過瀏覽器訪問;
訪問輸出,腳本信息,這樣就安裝成功了。

注意事項:
下載和安裝過程比較漫長,一定耐心仔細

❾ 請教centos php 多版本安裝共存切換

Linux下部署php多版本共存
背景說明
自php7問世,身為最新版本控的我馬上升級體驗,但是由於伺服器上還有舊程序在運行,只好部署一個php多版本共存環境。
現有環境是lnmp
- CentOS 6.7
- nginx 1.10.1
- mariadb-10.0.26
- php 7.0.8
為了更好兼容舊的php程序,推薦使用5.4.45. 主要是兼容mysql擴展。
開始安裝
首先要下載php-5.4.45.tar.gz源碼包。
通過源碼安裝
# tar xzvf php-5.4.45.tar.gz
# cd php-5.4.45

# ./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl

# make ZEND_EXTRA_LIBS='-liconv'
# make install
# cp php.ini-proction /usr/local/php/etc/php.ini

------------------------------------------------------------------------------------------------
php.ini 配置
post_max_size = 50M
upload_max_filesize = 50M
date.timezone = PRC
short_open_tag = On
cgi.fix_pathinfo=0
max_execution_time = 300
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
------------------------------------------------------------------------------------------------
php-fpm.conf 配置
------------------------------
# vim /usr/local/php/etc/php-fpm.conf1
[global]
pid = /usr/local/php54/var/run/php-fpm.pid
error_log = /usr/local/php54/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php54-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1:9001
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

----------------------------------------------------------------------------------
啟動 php-fpm
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm
# chmod +x /etc/init.d/php54-fpm
# /etc/init.d/php54-fpm start
-------------------------------------------------------------------------------------------
修改nginx配置,對需要的服務配置使用php-5.4.45
location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php54-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
----------------------------------------------------------------------------------------
配置php-5.4.45 的php54-fpm 開機自動啟動
# chkconfig --add php54-fpm
# chkconfig php54-fpm on

熱點內容
cs狙擊腳本 發布:2025-03-15 15:25:15 瀏覽:342
平板搭建ftp伺服器 發布:2025-03-15 15:24:32 瀏覽:831
中樞源碼指標 發布:2025-03-15 15:17:15 瀏覽:117
手柄壓縮 發布:2025-03-15 15:15:41 瀏覽:995
威綸通觸摸屏編程軟體 發布:2025-03-15 15:10:22 瀏覽:501
光遇安卓聖島季是什麼 發布:2025-03-15 15:10:06 瀏覽:714
socket緩存大小 發布:2025-03-15 15:10:05 瀏覽:967
創建資料庫db2 發布:2025-03-15 15:07:52 瀏覽:55
python和java哪個好 發布:2025-03-15 15:07:36 瀏覽:135
返回鍵編程 發布:2025-03-15 15:07:01 瀏覽:592