存檔

文章標簽 ‘安裝’

如何在ubuntu 16.04 上安裝Nginx

2017年12月9日 4 條評論

概述

Nginx 是世界上最受歡迎的web服務器,許多大流量的主機都采用Nginx作為服務器。在大多數場景下作為web服務器的Nginx比Apache更加節省資源,它也可當作反向代理服務器。

本文主要介紹如何在ubuntu16.04上安裝Nginx

前提條件

開始以前,你需要有一個安裝好的ubuntu16.04,并且你需要有一個擁有sudo權限的非root普通用戶。

第一步:安裝Nginx

Ubuntu默認的源中就有Nginx,所以安裝是比較簡單的。

首先,更新apt源,以便軟件是最新的,然后就可以安裝nginx:

  • sudo apt-get update
  • sudo apt-get install nginx

執行這兩個命令之后,apt-get就會安裝好Nginx和它依賴的軟件。

第二步:配置防火墻

開始測試Nginx前,我們需要配置防火墻,以便允許外界訪問nginx服務。Nginx在安裝的時候使用ufw注冊自己作為一個服務,這樣對nginx的訪問就會變得很容易。

顯示所有ufw應用的配置:

sudo ufw app list

你可以得到一個配置的輸出列表:

我們可以看到,有三個Nginx的配置:

  • Nginx Full: 這個配置打開 80端口和443端口
  • Nginx HTTP: 這個配置只打開80 (普通, 未加密通信)
  • Nginx HTTPS: 這個配置只打開 443 (TLS/SSL 加密通信 )

一般來說我們應該配置最嚴的限制,因為本文我們還沒有配置SSL,所以我們只打開80端口。

我們執行:

驗證修改狀態:

我們可以看到HTTP是被打開的:

第三步: 檢查你的web server

安裝完成后,Ubuntu 16.04 會自動啟動 Nginx. 我們可以使用systemd?檢查運行狀態:

輸出

服務已經正常啟動,當然最好的確認方法是通過訪問web頁面的方式。

如果我們能訪問到默認加載頁就證明啟動成功了。

如果你不知道服務器的ip可以使用如下命令:

 

有了IP之后,在瀏覽器里輸入:

http://server_domain_or_IP

你就能看到Nginx的默認加載頁了:

Nginx default page

第四步: 管理 Nginx 進程

現在我們已經有nginx在運行了,我們可以再試一些管理命令:

停止nginx:

啟動nginx:

重啟nginx:

修改配置文件后,平滑加載配置命令(不會斷開用戶訪問):

默認,nginx是隨著系統啟動的時候自動運行。如果你不想開機啟動,那么你可以禁止nginx開機啟動:

重新配置nginx開機自動啟動:

第五步: 熟悉Nginx的文件和目錄

現在我們已經管理nginx了,接下來可以熟悉一下nginx的目錄結構和一些重要的文件:

網站文件位置

      • /var/www/html: 網站文件存放的地方, 默認只有我們上面看到nginx頁面,可以通過改變nginx配置文件的方式來修改這個位置。

服務器配置

      • /etc/nginx: nginx配置文件目錄。所有的nginx配置文件都在這里。
      • /etc/nginx/nginx.conf: Nginx的主配置文件. 可以修改他來改變nginx的全局配置。
      • /etc/nginx/sites-available/: 這個目錄存儲每一個網站的"server blocks"。nginx通常不會使用這些配置,除非它們陪連接到 ?sites-enabled?目錄 (see below)。一般所有的server block 配置都在這個目錄中設置,然后軟連接到別的目錄 。
      • /etc/nginx/sites-enabled/: 這個目錄存儲生效的 "server blocks" 配置. 通常,這個配置都是鏈接到 sites-available目錄中的配置文件
      • /etc/nginx/snippets: 這個目錄主要可以包含在其它nginx配置文件中的配置片段。重復的配置都可以重構為配置片段。

日志文件

    • /var/log/nginx/access.log: 每一個訪問請求都會記錄在這個文件中,除非你做了其它設置。
    • /var/log/nginx/error.log: 任何Nginx的錯誤信息都會記錄到這個文件中。
分類: nginx 標簽: ,

windows下配置nginx和php環境(wnmp)

2016年11月27日 沒有評論

1.準備
創建安裝目錄D:/web,我們所有的文件都會放在這個目錄下

下載nginx最新版

下載php:php-5.4.16-Win32-VC9-x86.zip

2.下載完成會后獲得如下文件,解壓縮并重命名文件夾去掉版本號
php-5.4.16-Win32-VC9-x86.zip
nginx-1.10.2.zip

3.配置nginx
nginx不需要額外的配置,直接運行就可以,打開命令行cmd切換到d:/web/nginx
輸入 start nginx 后回車即可啟動
瀏覽器中訪問http://localhost/可以看到歡迎頁面表示安裝成功
具體可以參考windows下安裝nginx

3.配置php
在php的目錄下可以找到php.ini-development文件,復制一份并將文件名修改為php.ini。然后修改配置文件內容
; extension_dir = "ext" ,刪除前面的分號并修改為:extension_dir = "D:/web/php/ext"
;cgi.force_redirect = 1,刪除前面的分號:cgi.force_redirect = 1
;cgi.fix_pathinfo=1,刪除前面的分號:cgi.fix_pathinfo=1
;cgi.rfc2616_headers = 0,刪除前面的分號:cgi.rfc2616_headers = 1

命令行下輸入如下命令啟動php,不報錯表示啟動成功。

4.檢查nginx、php是否安裝成功
在D:/web/nginx/html下新建一個phpinfo.php,加入如下內容后保存

修改nginx.conf 增加server,也就是虛擬服務器

重啟nginx
打開瀏覽器訪問http://localhost/phpinfo.php
能看到php信息表示安裝成功。

4.安裝mysql
這個步驟根其它環境無特殊不同,如果安裝過可以直接使用,未安裝的可以根據mysql安裝向導下一步即可。

最終安裝之后的目錄結構

附:nginx和php的快速啟動和關閉腳本
啟動腳本

關閉腳本

遇到的問題:
如果遇到提示php不是有效的win32程序,是因為安裝的微軟運行時庫不對2003需要使用vc9版本的php

分類: nginx 標簽: , ,

mac下軟件包管理brew

2015年4月6日 沒有評論

brew是什么?Homebrew OS X 不可或缺的套件管理器。

brew是一個mac新用戶需要了解的必備命令,它是mac下的軟件包管理軟件,類似centos下的yum、ubuntu下的apt-get,免去了自己手動編譯安裝的不方便。

很多時候作為一個用戶或多或少多都有一些潔癖,不希望系統轉垃圾軟件,brew就能解決這個問題。

Homebrew 會將套件安裝到獨立目錄,并將文件軟鏈接至 /usr/local ,所有文件均會被安裝到預定義目錄下,所以您無需擔心 Homebrew 的安裝位置。

brew安裝方法

brew安裝前需要先安裝Command Line Tools,也就是能夠執行gcc等命令。

brew安裝只需要一條命令

屏幕會輸出:

首先會詢問是否同意修改目錄權限。同意之后輸入sudo密碼,然后整個過程就會自動完成。
安裝過程會列出來每一步的修改內容并詢問你是否同意,主要是修改目錄權限。
這些目錄是未來安裝軟件的位置,這樣就不用sudo,免密碼就可以直接安裝。

brew的使用方法

Homebrew的可執行命令是brew,其基本使用方法如下(以wget為例)。

查找軟件包

安裝軟件包

列出已安裝的軟件包

刪除軟件包

查看軟件包信息

列出軟件包的依賴關系

更新brew

列出過時的軟件包(已安裝但不是最新版本)

更新過時的軟件包(全部或指定)

當然如果你要安裝的軟件homebrew上沒有,也支持自己定制,過程就沒那么簡單,這里就不介紹了,感興趣的可以去官網查看文檔。

分類: iOS/Mac 標簽: ,

pyqt開發環境python3.3+pyqt4.8.5+eric5.40安裝配置

2014年2月9日 5 條評論

一直寫的是后臺程序,封裝給別人用,有時覺得寫個能直接面對用戶程序比較有意思。

面對客戶的程序一個是web,一個是手機應用,另一個就是桌面程序,前兩個我都有寫過,今天研究了一下如何寫桌面程序。

寫桌面程序有C#,MFC類庫豐富,IDE強大,不過總覺得有點不符合潮流的方向,而且安裝文件過大。

最后想著自己會寫c++就研究了qt這跨平臺的圖形庫,研究研究就發現pyqt這個更高級的界面開發。

pyqt集合了c++擴平臺的qt庫和解釋型語言python,有了pyqt用pthon也可以寫出漂亮的界面,開發效率比c++會高些,會c++的還是相對會python的少些。

當然光有類庫沒有合適的IDE工具也白費,eric5的出現,讓pyqt的開發更容易。

總喜歡扯太多鋪墊,下面開始零基礎pyqt開發入門,我想用pyqt寫一個郵件群發軟件。

閱讀全文...

分類: python 標簽: ,

nginx環境安裝typecho

2014年2月6日 1 條評論

typecho比wordpress更輕,更專注于寫的享受。

現在大多的虛擬機運行環境都是lnmp,安裝教程安裝typecho可能會遇到404,數據配置錯誤問題。

把這兩天安裝typecho的步驟寫下來給大家參考.

typecho安裝方法

1.下載

#網站目錄
cd /usr/local/nginx/html/
wget https://github.com/typecho/typecho/releases/download/v0.9-13.12.12-release/0.9.13.12.12.-release.tar.gz -O typecho.tar.gz
tart -zxvf typecho.tar.gz

這樣typecho的源代碼放到了/usr/local/nginx/html/build
閱讀全文...

分類: nginx 標簽: ,

ubuntu下使用apt方式安裝、卸載nginx

2014年1月8日 4 條評論

ubuntu和debain下的apt方式安裝軟件很方便,特別是對于新手安裝和卸載nginx。

由于nginx不能動態添加模塊,所以會經常安裝和卸載、升級。

apt安裝nginx方法
sudo apt-add-repository ppa:nginx/development
sudo apt-get update
sudo apt-get install nginx

apt卸載nginx方法
卸載方法1.
# 刪除nginx,保留配置文件
sudo apt-get remove nginx
#刪除配置文件
rm -rf /etc/nginx

卸載方法2.
#刪除nginx連帶配置文件
sudo apt-get purge nginx # Removes everything.

#卸載不再需要的nginx依賴程序
sudo apt-get autoremove

分類: nginx 標簽: , , ,

windows下安裝nginx

2014年1月3日 1 條評論

之前一直有人問如何在windows下如何安裝運行nginx,今天有空,同時也給2014年開個好頭。

windows下的nginx使用的是native Win32 API編寫的,使用select處理連接,所以windows下的nginx性能不會太高且伸縮性(scalability,意思是通過數量上的擴展滿足系統業務的增長)也差些,也是大家選著linux跑nginx的主要原因。

另外windows下的nginx缺少一些模塊:XSLT filter, image filter, GeoIP module, 和 embedded Perl language。

當然對于一些不會用nginx的個人站長來說,為了趕時髦,能在windows下跑nginx是件拉轟的事(我個人覺得win下apache足夠好了,除非你換到linux運行nginx)。

下面開始切入正題,win下的nginx需要下載最新版1.5.8開發版,下載地址http://nginx.org/download/nginx-1.5.8.zip,1.5.8解決了目前所有已知問題。

下載完安裝包后,解壓即可運行,

下載安裝包到D盤目錄 D:web
windows nginx install

雙擊壓縮包解壓后,在命令行下進入d:/web/nginx-1.5.8目錄
win7下可以使用同時按下shift鍵和鼠標右鍵選著命令行卡開
命令行打開nginx目錄

啟動nginx
在如下命令行目錄下執行start nginx
圖像 2

start nginx

執行命令后提示"系統找不到文件 nginx"

原因是沒進入到nginx.exe目錄,解壓后多了一層目錄,需要進入包含nginx.exe的目錄執行start nginx,正確執行后nginx會提示是否允許訪問網絡,選擇允許運行,這樣nginx就啟動完了。
4

打開瀏覽器輸入locahost,看到如下頁面,windows下nginx就安裝啟動好了,很簡單吧。

5

如果nginx還是啟動失敗需要查看nginx日志文件logs/error.log,如果該文件不存在需要查看Windows事件日志中。
同時需要注意的是
1.windows下nginx配置文件中的目錄請使用“/”,而不是“”做目錄分隔
2.windows下的nginx只有一個有效的工作進程
3.windows vista以后系統的不支持nginx的cache模塊和需要共享內存支持的模塊。
4.widows下的nginx支持最大1024個并發連接

分類: nginx 標簽: , ,

vsftp 安裝配置

2013年8月15日 1 條評論

lnmp組合重要搭檔就是ftp服務器,本文主要介紹的是vsftp的安裝和配置。

vsftp的安裝比較容易,配置文件比較復雜。

本例是使用操作系統賬戶當做ftp賬戶,安裝完成后用系統賬戶就可以訪問ftp。

1 編譯安裝vsftp

2 配置vsftp

默認情況下訪問的是系統根目錄,可已通過修改配置文件中的local_root為特定目錄

local_root=/usr/local/nginx/html/quancha

3 啟動vsftpd
/usr/local/sbin/vsftpd &

4 設置開機啟動vsftpd
sed -i '$a/usr/local/sbin/vsftpd &' /etc/rc.d/rc.local

注意:
64位的系統編譯之前先要執行cp /lib64/libcap.so.1 /lib/libcap.so.1命令

5 禁止特定的系統用戶 如root訪問ftp

配置文件中,修改如下配置,沒有則增加
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list

vi /etc/vsftpd.user_list

增加用戶,每行一個用戶,文件中的用戶不能訪問ftp

root
www-data

分類: linux 標簽: , , ,

linux編譯安裝mysql

2013年6月14日 10 條評論

緊接著上文,這次是重裝mysql,正好之前有人要lnmp的安裝方法,算上這篇文章就全了。
安裝前準備

如果mysql用戶不存在,那么添加mysql用戶

mysql編譯安裝

到此mysql就安裝到了/usr/local/mysql路徑下,下面開始mysql的配置工作
------------------------------------

安裝mysql選項文件

mysql設置開機自啟動

配置權限表

啟動mysql

這一步可能會報錯
/etc/init.d/mysqld: line 260: my_print_defaults: command not found
/etc/init.d/mysqld: line 263: my_print_defaults: command not found
/etc/init.d/mysqld: line 270: @[email protected]: command not found
/etc/init.d/mysqld: line 279: @[email protected]: command not found
/etc/init.d/mysqld: line 292: cd: @[email protected]: No such file or directory
Starting MySQLCouldn't find MySQL manager (@[email protected]/mysqlmanager) or server (@[email protected]/mysqld_safe) [FAILED]

因為路徑沒有設置,請重啟確認上面配置工作是否都完成,一般是configure后沒有make和make install。

mysql初始化配置:

mysql如何導入舊的數據:
直接拷貝數據庫文件夾到數據目錄下然后執行

==================================================================
mysql安裝過程中問題

1.
make[2]: Entering directory /down/webinstall/mysql-5.1.57/mysql-test
make[3]: Entering directory
/down/webinstall/mysql-5.1.57/mysql-test
make[3]: Nothing to be done for install-exec-am.
make INSTALL_TO_DIR="/usr/local/mysql/mysql-test" install_test_files
make[4]: Entering directory
/down/webinstall/mysql-5.1.57/mysql-test
時間較長
MYSQL安裝到這里卡了很久,可能以為出錯了,實際上MYSQL已經安裝成功了,它這步過段時間就會好了,是mysql在自我編譯測試造成的。

2.checking for termcap functions library... configure: error: No curses/termcap library found
yum install ncurses ncurses-devel

3.Starting MySQL.Manager of pid-file quit without updating fi[FAILED]

啟動數據庫之前,需要先配置權限表,其中/usr/local/mysql為mysql的安裝目錄
chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql

分類: mysql 標簽: ,

redis和redis php擴展安裝

2013年5月29日 1 條評論

redis是一個內存數據庫,比memcache支持更豐富的value類型,新浪微博就使用redis來做緩存。

redis的源碼安裝

1.make時可能會報如下錯誤:

解決辦法:
編輯src/.make-settings里的OPT,改為OPT=-O2 -march=i686。

2.make test報錯:

解決辦法安裝tcl

redis命令介紹

Redis 由四個可執行文件:redis-benchmark、redis-cli、redis-server、redis-stat 這四個文件,加上一個redis.conf就構成了整個redis的最終可用包。它們的作用如下:

redis-server:Redis服務器的daemon啟動程序
redis-cli:Redis命令行操作工具。當然,你也可以用telnet根據其純文本協議來操作
redis-benchmark:Redis性能測試工具,測試Redis在你的系統及你的配置下的讀寫性能
redis-stat:Redis狀態檢測工具,可以檢測Redis當前狀態參數及延遲狀況
現在就可以啟動redis了,redis只有一個啟動參數,就是他的配置文件路徑。

啟動redis

復制源碼包里的redis.conf到/etc
# cd redis-stable
# cp redis.conf /etc/redis.conf

編輯/etc/redis.conf ,修改
daemaon no 為daemaon yes ,以守護進程方式啟動進程。

# redis-server /etc/redis.conf

關閉redis
# redis-cli shutdown //關閉所有
關閉某個端口上的redis
# redis-cli -p 6397 shutdown //關閉6397端口的redis
說明:關閉以后緩存數據會自動dump到硬盤上,硬盤地址見redis.conf中的dbfilename dump.rdb

redis配置

注意,默認復制過去的redis.conf文件的daemonize參數為no,所以redis不會在后臺運行,這時要測試,我們需要重新開一個終端。修改為yes則為后臺運行redis。另外配置文件中規定了pid文件,log文件和數據文件的地址,如果有需要先修改,默認log信息定向到stdout.

下面是redis.conf的主要配置參數的意義:

daemonize:是否以后臺daemon方式運行
pidfile:pid文件位置
port:監聽的端口號
timeout:請求超時時間
loglevel:log信息級別
logfile:log文件位置
databases:開啟數據庫的數量
save * *:保存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。
rdbcompression:是否使用壓縮
dbfilename:數據快照文件名(只是文件名,不包括目錄)
dir:數據快照的保存目錄(這個是目錄)
appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高數據抗風險能力,但影響效率。
appendfsync:appendonlylog如何同步到磁盤(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)
這時你可以打開一個終端進行測試了,配置文件中默認的監聽端口是6379

redis開機自動啟動

用這個腳本管理之前,需要先配置下面的內核參數,否則Redis腳本在重啟或停止redis時,將會報錯,并且不能自動在停止服務前同步數據到磁盤上:

# vi /etc/sysctl.conf

vm.overcommit_memory = 1

然后應用生效:

# sysctl –p

建立redis啟動腳本:

# vim /etc/init.d/redis

然后增加服務并開機自啟動:

redis php擴展安裝

wget https://github.com/nicolasff/phpredis/zipball/master -O php-redis.zip
unzip php-redis.zip
cd nicolasff-phpredis-2d0f29b/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

完成后redis.so被安裝到
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

vi /usr/local/php/lib/php.ini

添加
extension=redis.so

重啟php-fpm即可。

configure時可能會遇到,添加--with-php-config參數可以解決。

configure: error: Cannot find php-config. Please use --with-php-config=PATH

./configure --with-php-config=/usr/local/php/bin/php-config

分類: redis 標簽: , , ,
极速快乐十分助手