Nginx 特性
Nginx 性能穩定、功能豐富、運維簡單、處理靜態文件速度快且消耗系統資源極少。
1、相比 Apache,用 Nginx 作爲 Web 服務器:使用資源更少,支持更多併發連接,效率更高。
2、作爲負載均衡服務器:Nginx 既可在內部直接支持 Rails 和 PHP,也可支持作爲 HTTP 代理服務器對外進行服務。Nginx 用 C 編寫而成, 不論是系統資源開銷還是 CPU 使用效率都比 Perlbal 要好的多。
3、作爲郵件代理服務器:Nginx 同時也是一款非常優秀的郵件代理服務器(最早開發這個產品的目的之一,是作爲郵件代理服務器)。
4、反向代理可以根據url將請求轉向於不同用途的集羣,比如圖片請求,轉向圖片服務器集羣;視頻請求,轉身視頻服務器集羣。
nginx是一款輕量級的web服務器/反向代理服務器/電子郵件代理服務器,安裝非常簡單,配置文件也很簡潔(還支持 perl 語法)。Nginx 支持平滑加載新配置,還能夠在不間斷服務的情況下進行軟件版本升級。
Apache 特性
1、Apache 是 LAMP 架構最核心的 Web Server,開源、穩定、模塊豐富是 Apache 的優勢。但 Apache 的缺點是有些臃腫,內存和 CPU 開銷大,性能上有損耗,不如一些輕量級的 Web 服務器(譬如:Nginx、Tengine等)高效,輕量級的 Web 服務器對於靜態文件的響應能力來說遠高於 Apache 服務器。
2、Apache 做爲 Web Server 是負載 PHP 的最佳選擇,如果流量很大的話,可以採用 Nginx 來負載非 PHP 的 Web 請求。Nginx 是一個高性能的 HTTP 和反向代理服務器,Nginx 以其穩定、豐富功能集、示例配置文件和低系統資源的消耗而聞名。Nginx 現能支持 PHP 和 FastCGI,也支持負載均衡和容錯,可和 Apache 配合使用,是輕量級的 HTTP 服務器的首選。
3、Web 服務器緩存也有多種方案,Apache 提供了自己的緩存模塊,也可以使用外加的 Squid 模塊進行緩存,這兩種方式均可有效提高 Apache 的訪問響應能力。Squid Cache 是一個 Web 緩存服務器,支持高效緩存,可作爲網頁服務器的前置 cache 服務器緩存相關請求以提高 Web 服務器速度。把 Squid 放在 Apache 的前端來緩存 Web 服務器生成動態內容,而 Web 應用程序只需要適當地設置頁面實效時間即可。如訪問量巨大,則可考慮使用 memcache 作爲分佈式緩存。
4、PHP 的加速可使用 eAccelerator 加速器,eAccelerator 是一個自由開放源碼的 PHP 加速器。它會優化動態內容緩存,提高 PHP 腳本緩存性能,使 PHP 腳本在編譯狀態下,對服務器的開銷幾乎完全消除。它還可對腳本起優化作用,以加快其執行效率。 使 PHP 程序代碼執效率可提高 1-10 倍。
##以上資料來源:https://www.zhihu.com/question/19697826
nginx優點:
輕量級服務器,相比較apache佔用的資源更加少。
高併發。
配置文件的語法等簡單易懂
社區活躍。
支持epoll模型。使得nginx可以支持高併發。
利用nginx可以對ip限速,可以限制連接數
環境:
centos 6.8 2.6.32-642.15.1.el6.x86_64
軟件:
libiconv-1.14.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
mhash-0.9.9.9.tar.gz
mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz(二進制版)
php-5.6.30.tar.gz
nginx-1.12.0.tar.gz
提示:在進入正題之前一定要先去了解下nginx的工作原理和常用場景。
不要死記,多操作,多理解,自然就懂了。
看別人操作,不如自己操作。
要能清晰的瞭解同類產品的區別。
大綱:
安裝nginx
啓動nginx
配置虛擬主機
安裝mysql二進制版
安裝php
測試lnmp環境
nginx
1、安裝nginx
wget http://nginx.org/download/nginx-1.12.0.tar.gz tar zxvf nginx-1.12.0.tar.gz cd nginx-1.12.0/ yum install gcc gcc-c++ zilb.x86_64 zlib-devel.x86_64 pcre-devel.x86_64 pcre.x86_64 openssl.x86_64 openssl-devel.x86_64-y useradd -M -s /sbin/nologin nginx ./configure --help ./configure --prefix=/application/nginx1.12.0 --user=nginx --group=nginx --with-pcre --with-http_ssl_module --with-http_stub_status_module echo $? make echo $? make install echo $? ln -s /application/nginx1.12.0/ /application/nginx cd /application/nginx
nginx目錄結構 | |
conf | 配置文件 |
html | 默認站點 |
logs | 日誌文件 |
sbin | 命令 |
總結: 1 選擇軟件一定不能選擇最新的,否則出問題不容易解決,因爲第一個吃螃蟹。 |
2、啓動nginx
/application/nginx/sbin/nginx -t /application/nginx/sbin/nginx lsof -i :80 curl localhost
總結:
|
3、配置虛擬主機
如果熟悉了Apache的虛擬主機那麼Nginx的虛擬主機也很容易理解,而且配置還比Apache簡單很多。
虛擬主機:
基於域名的虛擬主機
基於IP的虛擬主機
基於端口的虛擬主機
mkdir /application/nginx/conf/extra -p ##把我們的虛擬主機文件放在這個擴展目錄中,可以在管理網站的時候更加方便 vim /application/nginx/conf/nginx.conf ##將主配置文件修改爲以下內容 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include extra/blog.conf; include extra/easy.conf; include extra/bad.conf; } vim /application/nginx/conf/extra/blog.conf ##將虛擬主機blog配置文件配置爲以下內容,不存在則創建 server { listen 80; server_name www.blog.vperson.org.cn; location / { root html/blog; index index.html index.htm; } } vim /application/nginx/conf/extra/easy.conf ##將虛擬主機easy配置爲以下內容,不存在則創建 server { listen 80; server_name www.easy.vperson.org.cn; location / { root html/easy; index index.html index.htm; } } vim /application/nginx/conf/extra/bad.conf ##將虛擬主機bad配置文件修改爲以下內容,不存在則創建 server { listen 80; server_name www.bad.vperson.org.cn; location / { root html/bad; index index.html index.htm; } } cd /application/nginx/html/ for name in blog bad easy;do mkdir $name; echo "$name.vperson.org.cn" > $name/index.html; done ##利用for循環創建目錄,並向index.html中寫入內容 tree ./ bad │ └── index.html ├── blog │ └── index.html ├── easy │ └── index.html vim /etc/hosts 127.0.0.1 localhost www.blog.vperson.org.cn www.easy.vperson.org.cn ##修改本地hosts文件,爲了配合我們的基於域名的虛擬主機 ping -c 1 ping -c 1 ping -c 1 www.bad.vperson.org.cn /application/nginx/sbin/nginx -s reload ##重啓nginx服務器 curl blog.vperson.org.cn curl bad.vperson.org.cn curl easy.vperson.org.cn
提示:使用curl訪問域名時返回如上信息即基於域名的虛擬主機搭建成功。
擴展:
* 域名重定向
爲什麼需要域名重定向,第一是爲了防止惡意綁定,最簡單的道理就是,域名是別人買的,別人想把域名指向公網中的任意一臺主機我們也沒有辦法。但是用了域名重定向後,可以在使用惡意域名訪問我們的服務器後,會在地址欄重定向爲我們指定的域名,並訪問指定的站點。(理解一個原理,在一個未知域名訪問我們的主機時其實是以IP的形式訪問,也就是說我們重定向的其實是IP地址)
還有就是多域名指向同意服務器,提高訪問量。
------------------------------------------------------------------ vim /application/nginx/conf/extra/rewrite.conf ##編譯rewirte.conf文件不存在則創建,內容如下 server { listen 80; server_name www.rewrite.vperson.org; rewrite ^/(.*) http://www.easy.vperson.org.cn/$1 permanent; #^/表示 # #永久有效 } ----OK------------------------------------------------------------ ------------------------------------------------------------------ vim /application/nginx/conf/nginx.conf ##修改nginx的主配置文件,注意include的順序這個很重要否則域名重定向就沒用了 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include extra/rewrite.conf; include extra/blog.conf; include extra/easy.conf; include extra/bad.conf; } ----OK------------------------------------------------------------ /application/nginx/sbin/nginx -t /application/nginx/sbin/nginx -s reload vim /etc/hosts 127.0.0.1 localhost www.blog.vperson.org.cn www.easy.vperson.org.cn www.rewrite.vperson.org ping -c 1 curl -L www.rewrite.vperson.org curl -I www.rewrite.vperson.org HTTP/1.1 301 Moved Permanently Server: nginx/1.12.0 Date: Sun, 16 Apr 2017 14:19:58 GMT Content-Type: text/html Content-Length: 185 Connection: keep-alive Location: http://www.easy.vperson.org.cn/
隱藏nginx版本號:
vim /application/nginx/conf/nginx.conf ##修改爲以下內容 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server{ listen 8080; server_name www.vperson.win; rewrite ^/(.*) http://www.blog.vperson.org.cn/$1 permanent; } include extra/easy.conf; include extra/bad.conf; include extra/blog.conf; server_tokens off; }
apache隱藏版本號的方法:
----------------------------
cat /application/apache/conf/extra/httpd-default.conf ............. ServerTokens Prod ServerSignature Off .............
-----------------------
nginx日誌管理
使用mv工具和crontab工具
具體方法如下:
---------------------------------------------------------------------------- vim nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include extra/rewrite.conf; include extra/bad.conf; include extra/blog.conf; include extra/easy.conf; server_tokens off; } vim extra/blog.conf server { listen 80; server_name www.blog.vperson.org.cn; access_log logs/blog.access.log main; location / { root html/blog; index index.html index.htm; } } ##其他的配置文件也一樣在server標籤裏添加日誌信息 ----OK------------------------------------------------------------ #sed -i '/server_name www.bad.vperson.org.cn;/a\\taccess_log logs\/bad.access.log main; ' extra/bad.conf ../sbin/nginx -t ../sbin/nginx -s reload ll ../logs/ total 220 -rw-r--r-- 1 root root 110155 Apr 17 15:42 access.log -rw-r--r-- 1 root root 0 Apr 17 15:42 bad.access.log -rw-r--r-- 1 root root 0 Apr 17 15:42 blog.access.log -rw-r--r-- 1 root root 0 Apr 17 15:42 easy.access.log -rw-r--r-- 1 root root 98802 Apr 17 15:43 error.log -rw-r--r-- 1 root root 6 Apr 16 22:29 nginx.pid -rw-r--r-- 1 root root 0 Apr 17 15:42 rewrite.access.log ##可見日誌文件已經生成 --------------------------------------------------------------------------------- vim /application/nginx/logs/backlog.sh ##寫一個自動備份的腳本 #!/bin/sh for name in rewrite bad blog easy; do /bin/mv /application/nginx/logs/${name}.access.log /applog/nginx/access/$(date +%F)_${name}.log if [ $? -eq 0 ] then echo "$(date +%F) ${name}" >> /applog/nginx/access/successfully.txt else echo "$(date +%F) ${name}" >> /applog/nginx/access/error.txt fi done /bin/find /applog/nginx/access/ -mtime +7 -exec rm -rf {} \; ---腳本完成------OK------------------------------------------------------------ chmod +x /application/nginx/logs/backlog.sh crontab -e 30 1 * * * /application/nginx/logs/backlog.sh ##晚上訪問量少,適合做備份等工作 mkdir -p /applog/nginx/access/
總結:
|
++++++++++++++++++++++nginx服務安裝完成++++++++++++++++++++++++
Mysql
4、安裝二進制mysql
mysql分類:
社區版
商業版
集羣
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.32-linux2.6-x86_64.tar.gz tar zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz cp -avr mysql-5.5.32-linux2.6-x86_64/ /application/ cd /application/ mv mysql-5.5.32-linux2.6-x86_64/ mysql-5.5.32/ ln -s mysql-5.5.32/ mysql useradd -M -s /sbin/nologin mysql cd mysql mkdir /application/mysql/data -p chown -R mysql:mysql /application/mysql-5.5.32/ ----------------------------------------------------------------- ./scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql ##初始化數據庫 mysql_install_db根據版本的不同可能存放的路徑也不一樣 --basedir是mysql的安裝路縉 --datadir是數據文件存放路徑 --user是用戶名 成功的標準是echo $?沒有錯誤+兩個OK沒有error To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system ##想要開機自動啓動,就把mysql.server放到正確的位置即/etc/init.d/mysqld /application/mysql//bin/mysqladmin -u root password 'new-password' /application/mysql//bin/mysqladmin -u root -h vperson password 'new-password' Alternatively you can run: /application/mysql//bin/mysql_secure_installation ##設置密碼的方法 You can start the MySQL daemon with: cd /application/mysql/ ; /application/mysql//bin/mysqld_safe & ##運行數據庫 You can test the MySQL daemon with mysql-test-run.pl cd /application/mysql//mysql-test ; perl mysql-test-run.pl ##測試數據庫 提示:/etc/init.d/mysqld實質是複製了mysql.server文件,所以一定不要和cd /application/mysql/ ; /application/mysql//bin/mysqld_safe &方法一起用否則會出錯 --------------------------------------------------------------- \cp support-files/my-medium.cnf /etc/my.cnf \cp support-files/mysql.server /etc/init.d/mysqld -------------------------------------- vim /etc/init.d/mysqld .................. basedir=/application/mysql/ datadir=/application/mysql/data ................... 或者 #sed -i'46s/\(basedir=\)/\1\/application\/mysql/p' /etc/init.d/mysqld ##修改46行爲basedir=/application/mysql,只限定當前環境,其他環境可能有變化 #sed -i'47s/\(datadir=\)/\1\/application\/mysql\/data/p' /etc/init.d/mysqld ##修改datadir爲/application/mysq/data ----OK--------------------------------- chmod +x /etc/init.d/mysqld /etc/init.d/mysqld start echo "export PATH=/application/mysql/bin:$PATH" >> /etc/profile source /etc/profile ---------------------------------------------------- mysql_secure_installation ##以下內容看自己的需求 mysql -uroot -p mysql>show databases; mysql> use mysql mysql> show tables; mysql> select User,Host from user; mysql>DELETE FROM user WHERE User='root' and Host='::1'; ## 目前是不會用的到的所以刪除,如果有需求就不用刪除 mysql> quit --OK--------------------------------------------------
總結: a) 針對自己的硬件平臺選用合適的編譯器來優化編譯後的二進制代碼; |
PHP
需要下載以下的依賴包,並且編譯:
libiconv(libiconv-1.14.tar.gz)
libmcrypt-2.5.8.tar.gz,加密庫
mcrypt-2.6.8.tar.gz
mhash-0.9.9.9.tar.gz
5、安裝PHP
wget tar zxvf php-5.6.30.tar.gz cd php-5.6.30/ yum install libxml2-devel.x86_64 libxml2.x86_64 openssl-devel.x86_64 libcurl-devel.x86_64 libjpeg-turbo.x86_64 libjpeg-turbo-devel.x86_64 png* libpng-devel.x86_64 freetype.x86_64 freetype-devel.x86_64 libxslt-devel.x86_64 libxslt.x86_64 zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devellibjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y 編譯安裝libiconv1.14: ============================================== tar zxvf libiconv-1.14.tar.gz cd libiconv-1.14/ ./configure --prefix=/usr/local/libiconv make make install ------------------------------------------------------------------------------ 錯誤:./stdio.h:1010:1: 錯誤:‘gets’未聲明(不在函數內) _GL_WARN_ON_USE(gets, "gets is a security hole - use fgets instead"); 解決: vim ./srclib/stdio.h GL_WARN_ON_USE(gets, "gets is a security hole - use fgets instead"); 替換爲 #if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif -------------------------------------------------------------------------------- =============================================== 編譯安裝mhash-0.9.9.9: ================================================= tar zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9/ ./configure make && make install ================================================ 編譯安裝libmcrypt ================================================== tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure make && make install cp /usr/local/lib/* /usr/local/lib64/ -av ##只正對64位操作系統,32爲操作系統直接往下走 rm -f /usr/lib64/libmcrypt.* rm -f /usr/lib64/libmhash* ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4 ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8 ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2 ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config ##提示我搭好的環境中我並沒有在/usr/local/lib64/下找到文件,文件都在/usr/local/lib, 可以把/usr/local/lib/下的文件複製到/usr/local/lib64/下 ================================================= yum install libxslt* -y ##安裝libxslt* 編譯安裝mcrypt-2.6.8: ================================================ tar zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8/ ./configure LD_LIBRAPY_PATH=/usr/local/lib ##原因未知,這個我是百度搜出來的 make && make install ================================================ ================================================= vim 1.txt ./configure \ --prefix=/application/php5.6.30 \ --with-mysql=/application/mysql \ --enable-mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-safe-mode \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --enable-short-tags \ --enable-zend-multibyte \ --enable-static \ --with-xsl \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-ftp \ --enable-embedded-mysqli \ --with-mysqli \ --with-pdo-mysql=/application/mysql cat 1.txt | bash echo $? make echo $? make install echo $? ln -s /application/php5.6.30/ /application/php cp php.ini-production /application/php/lib/php.ini ##提醒:如果是做開發的話就把php.ini-development複製過去 由於nginx調用PHP是通過一個fcgi的程序,所以,這個程序也是有配置文件的。 cd /application/php/etc/ cp php-fpm.conf.default php-fpm.conf egrep -v "^$|;" php-fpm.conf ------------------------------------------------------------------------ [global] pid = /app/logs/php-fpm.pid error_log = /app/logs/php-fpm.log log_level = error rlimit_files = 32768 events.mechanism = epoll [www] user = nginx group = nginx listen = 127.0.0.1:9000 listen.owner = nginx listen.group = nginx pm = dynamic pm.max_children = 1024 pm.start_servers = 16 pm.min_spare_servers = 5 pm.max_spare_servers = 20 pm.max_requests = 2048 slowlog = /app/logs/$pool.log.slow request_slowlog_timeout = 10 -------------------------------------------------------------------------- ../sbin/php-fpm -t +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 錯誤:ERROR: Unable to create or open slowlog(/applog/logs/www.log.slow): No such file or directory (2) 解決:mkdir /applog/logs/ -p +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ../sbin/php-fpm lsof -i :9000 ================================================
我編譯PHP遇到的錯誤:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
錯誤:configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
解決:
ln -s /application/mysql/lib/libmysqlclient.so /usr/lib64/
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
問題:checking whether to enable embeddedMySQLi support... yes
checking for mysql_set_server_optionin -lmysqlclient... no
configure: error: wrong mysql libraryversion or lib not found. Check config.log for more information.
解決:--with-mysqli後面不加路徑
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
問題:Don't know how to define struct flockon this system, set --enable-opcache=no
解決:
以下紅色路徑看具體mysql安裝路徑而定
32位系統:
ln -s /usr/local/MySQL/lib/libmysqlclient.so /usr/lib/
ln -s /usr/local/mysql/lib/libmysqlclient.so.18/usr/lib/libmysqlclient.so.18
64位系統:
ln -s /usr/local/MySQL/lib/libmysqlclient.so /usr/lib64/libmysqlclient.so
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
問題:configure: error: Please reinstallreadline - I cannot find readline.h
解決:yum install readline-devel.x86_64 -y
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
問題:make: *** [sapi/cli/php] Error 1
解決:
網上統一的解決方式: makeZEND_EXTRA_LIBS='-liconv'
ln -s /usr/local/lib/libiconv.so.2/usr/lib64/
我自己的解決方式:重新編譯安裝libiconv(注意編譯的的參數--with-iconv-dir的路徑)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=================測試LNMP環境==========================
cd /application/nginx/
--------------------------------------------------
vim html/blog/index.php
<?php
phpinfo();
?>
--------------------------------------------------
vim conf/extra/blog.conf
server {
listen 80;
server_name www.blog.vperson.org.cn;
access_log logs/blog.access.log main;
location / {
root html/blog;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html/blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
}
-----------------------------------------------------------------------------
./sbin/nginx -t
./sbin/nginx -s reload
錯誤集:
|
隱藏PHP版本:
vim /application/php/lib/php.ini
expose_php = On
搭建一個自己的開源網站:
opensns、phpcms、wiki等。
步驟:
下載開源軟件包
#如http://kaiyuan.hudong.com/
創建數據庫
#create database wiki;
創建數據庫中的用戶用於管理這個網站的數據
#grant all on wiki.* towiki@’localhost’ identified by ‘wiki’;
#flush privileges;
#quit
解壓開源網站到指定的站點目錄
#修改權限chown -Rnginx:nginx 目錄
用瀏覽器訪問
安裝站點
總結: LNMP搭建對於新手來說是比較困難但是要細心,前後要有呼應,理解。 遇到困難先看錯誤,別急着百度,因爲搜出來的大部分都是複製粘貼的。 記錄下來每次的錯誤方便下次解決。 遇到困難,做了好久的,先放鬆放鬆,去散步什麼的回來說不定就會了。 二進制的mysql不推薦新手完,因爲他只是預設了一些參數。 |
網上搜了很多,終於知道測試PHP和mysql連同的代碼了:
<?php
//$link_id=mysql_connect('主機名','用戶','密碼');
$link_id=mysql_connect('localhost','root','redhat')or mysql_error();
if($link_id){
echo"mysql successful";
}else{
echomysql_error();
}
?>
##以上可能有錯誤,但是還請原諒因爲我也是新手,剛剛開始學習linux,請多多指教。