<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-179  評(píng)論-666  文章-29  trackbacks-0
      2018年3月13日
    一、準(zhǔn)備 正式開始前,編譯環(huán)境gcc、g++等開發(fā)庫(kù)需要提前安裝。
    nginx依賴以下模塊: gzip模塊需要 zlib 庫(kù) rewrite模塊需要 pcre 庫(kù) ssl 功能需要openssl庫(kù)
    源碼目錄為:/usr/local/src
    1、安裝make yum -y install gcc automake autoconf libtool make
    2、安裝g++ yum install gcc gcc-c++
    3、安裝PCRE庫(kù) cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz tar -zxvf pcre-8.42.tar.gz cd pcre-8.42/ ./configure make && make install 出現(xiàn)如下報(bào)錯(cuò): make[2]: *** [install-libLTLIBRARIES] Error 1 make[2]: Leaving directory `/usr/local/src/pcre-8.42' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/usr/local/src/pcre-8.42' make: *** [install] Error 2 權(quán)限不夠,切換到root,重新make install即可。
    4、安裝zlib庫(kù) cd /usr/local/src wget http://zlib.net/zlib-1.2.11.tar.gz tar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11/ ./configure make && make install
    5、安裝OpenSSL庫(kù) cd /usr/local/src wget http://www.openssl.org/source/openssl-1.1.0h.tar.gz tar -zxvf openssl-fips-2.0.16.tar.gz cd openssl-fips-2.0.16/ ./config make && make install 編譯安裝 Openssl 1.1.1 支持國(guó)密標(biāo)準(zhǔn) https://blog.51cto.com/1012682/2380553 6、創(chuàng)建用戶及用戶組 一般為了服務(wù)器安全,會(huì)指定一個(gè)普通用戶權(quán)限的賬號(hào)做為Nginx的運(yùn)行角色,這里使用www用戶做為Nginx工作進(jìn)程的用戶。后續(xù)安裝的PHP也以www用戶作為工作進(jìn)程用戶。 groupadd -r www useradd -r -g www www 二、NGINX 1、下載 cd /usr/local/src wget http://nginx.org/download/nginx-1.14.0.tar.gz tar –zxvf nginx-1.14.0.tar.gz cd nginx-1.14.0 2、配置 ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi make && make install nginx編譯選項(xiàng)說(shuō)明: --prefix表示nginx要安裝到哪個(gè)路徑下,這里指定剛才新建好的/alidata/server目錄下的nginx-1.12.2; --sbin-path表示nginx的可執(zhí)行文件存放路徑 --conf-path表示nginx的主配置文件存放路徑,nginx允許使用不同的配置文件啟動(dòng),通過(guò)命令行中的-c選項(xiàng) --pid-path表示nginx.pid文件的存放路徑,將存儲(chǔ)的主進(jìn)程的進(jìn)程號(hào)。安裝完成后,可以隨時(shí)改變的文件名 , 在nginx.conf配置文件中使用 PID指令。默認(rèn)情況下,文件名 為prefix/logs/nginx.pid --error-log-path表示nginx的主錯(cuò)誤、警告、和診斷文件存放路徑 --http-log-path表示nginx的主請(qǐng)求的HTTP服務(wù)器的日志文件的存放路徑 --user表示nginx工作進(jìn)程的用戶 --group表示nginx工作進(jìn)程的用戶組 --with-select_module或--without-select_module表示啟用或禁用構(gòu)建一個(gè)模塊來(lái)允許服務(wù)器使用select()方法 --with-poll_module或--without-poll_module表示啟用或禁用構(gòu)建一個(gè)模塊來(lái)允許服務(wù)器使用poll()方法 --with-http_ssl_module表示使用https協(xié)議模塊。默認(rèn)情況下,該模塊沒(méi)有被構(gòu)建。建立并運(yùn)行此模塊的OpenSSL庫(kù)是必需的 --with-pcre表示pcre的源碼路徑,因?yàn)榻鈮汉蟮膒cre是放在root目錄下的,所以是/root/pcre-8.41; --with-zlib表示zlib的源碼路徑,這里因?yàn)榻鈮汉蟮膠lib是放在root目錄下的,所以是/root/zlib-1.2.11 --with-openssl表示openssl庫(kù)的源碼路徑 配置OK: Configuration summary + using PCRE library: /usr/local/src/pcre-8.42 + using OpenSSL library: /usr/local/src/openssl-1.1.0h + using zlib library: /usr/local/src/zlib-1.2.11 nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx" nginx configuration file: "/usr/local/nginx/nginx.conf" nginx pid file: "/usr/local/nginx/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "/var/tmp/nginx/client/" nginx http proxy temporary files: "/var/tmp/nginx/proxy/" nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi/" nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi" nginx http scgi temporary files: "/var/tmp/nginx/scgi" 3、安裝 make && make install 4、啟動(dòng) /usr/local/nginx/sbin/nginx 啟動(dòng)時(shí)報(bào)錯(cuò): nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory) 手動(dòng)創(chuàng)建該目錄即可:mkdir -p /var/tmp/nginx/client 再次啟動(dòng),打開瀏覽器訪問(wèn)此機(jī)器的IP,瀏覽器出現(xiàn)Welcome to nginx! 則表示 Nginx 已經(jīng)安裝并運(yùn)行成功。
    5、設(shè)置軟連接 ln -sf /usr/local/nginx/sbin/nginx /usr/sbin 這樣就可以直接執(zhí)行nginx來(lái)啟動(dòng)了。
    6、檢測(cè)nginx nginx -t 顯示: nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/nginx.conf test is successful 三、PHP 1、安裝PHP需要的常用庫(kù) yum -y install libmcrypt-devel mhash-devel libxslt-devel 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 2、下載 cd /usr/local/src wget http://cn2.php.net/downloads.php/php-7.2.5.tar.gz tar -zxvf php-7.2.5.tar.gz 3、配置 ./configure --prefix=/usr/local/php \ --with-mysql=mysqlnd \ --enable-mysqlnd \ --with-gd \ --enable-gd-jis-conv \ --enable-fpm 4、安裝 make && make install 安裝信息如下: Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/ Installing PHP CLI binary: /usr/local/php/bin/ Installing PHP CLI man page: /usr/local/php/php/man/man1/ Installing PHP FPM binary: /usr/local/php/sbin/ Installing PHP FPM defconfig: /usr/local/php/etc/ Installing PHP FPM man page: /usr/local/php/php/man/man8/ Installing PHP FPM status page: /usr/local/php/php/php/fpm/ Installing phpdbg binary: /usr/local/php/bin/ Installing phpdbg man page: /usr/local/php/php/man/man1/ Installing PHP CGI binary: /usr/local/php/bin/ Installing PHP CGI man page: /usr/local/php/php/man/man1/ Installing build environment: /usr/local/php/lib/php/build/ Installing header files: /usr/local/php/include/php/ Installing helper programs: /usr/local/php/bin/ program: phpize program: php-config Installing man pages: /usr/local/php/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php/lib/php/ [PEAR] Archive_Tar: upgrade to a newer version (1.4.3 is not newer than 1.4.3) [PEAR] Console_Getopt: upgrade to a newer version (1.4.1 is not newer than 1.4.1) [PEAR] Structures_Graph: upgrade to a newer version (1.1.1 is not newer than 1.1.1) [PEAR] XML_Util: upgrade to a newer version (1.4.2 is not newer than 1.4.2) [PEAR] PEAR: upgrade to a newer version (1.10.5 is not newer than 1.10.5) /usr/local/src/php-7.2.5/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin ln -s -f phar.phar /usr/local/php/bin/phar Installing PDO headers: /usr/local/php/include/php/ext/pdo/ 5、添加環(huán)境變量 vim /etc/profile 在末尾加入 export PHP_HOME=/usr/local/php export PATH=/bin:/usr/bin:/usr/sbin:/sbin:$PATH:PHP_HOME/bin:$PHP_HOME/sbin 保存修改后,使用source命令重新加載配置文件: source /etc/profile 查看環(huán)境變量: echo $PATH 6、配置php-fpm cd /usr/local/php/etc cp php-fpm.conf.default php-fpm.conf cd php-fpm.d/ cp www.conf.default www.conf 使用vim命令對(duì)php-fpm.conf的內(nèi)容進(jìn)行如下修改: pid = /usr/local/php/var/run/php-fpm.pid 使用vim命令對(duì)php-fpm.conf的內(nèi)容進(jìn)行如下修改: user = www group = www 其他配置可根據(jù)需求進(jìn)行修改,比如pm.max_children(php-fpm 能啟動(dòng)的子進(jìn)程的最大數(shù)量)、pm.start_servers(php啟動(dòng)時(shí),開啟的子進(jìn)程的數(shù)量)、pm.min_spare_servers(動(dòng)態(tài)方式空閑狀態(tài)下的最小php-fpm進(jìn)程數(shù)量)、pm.max_spare_servers(動(dòng)態(tài)方式空閑狀態(tài)下的最大php-fpm進(jìn)程數(shù)量)等。 7、啟動(dòng)php-fpm /usr/local/php/sbin/php-fpm 可以通過(guò)ps aux | grep php查看php進(jìn)程。 https://www.cnblogs.com/sunshineliulu/p/8991957.html 三、MySQL https://blog.csdn.net/weixin_33859844/article/details/90948191 https://www.cnblogs.com/yangchunlong/p/8477743.html
    posted @ 2019-08-13 17:37 Alpha 閱讀(398) | 評(píng)論 (0)編輯 收藏

    一、安裝git服務(wù)器所需軟件

    打開終端輸入以下命令:

    ubuntu:~$ sudo apt-get install git-core openssh-server openssh-client
    git-core是git版本控制核心軟件

    安裝openssh-server和openssh-client是由于git需要通過(guò)ssh協(xié)議來(lái)在服務(wù)器與客戶端之間傳輸文件

    然后中間有個(gè)確認(rèn)操作,輸入Y后等待系統(tǒng)自動(dòng)從鏡像服務(wù)器中下載軟件安裝,安裝完后會(huì)回到用戶當(dāng)前目錄。如果

    安裝提示失敗,可能是因?yàn)橄到y(tǒng)軟件庫(kù)的索引文件太舊了,先更新一下就可以了,更新命令如下:

    ubuntu:~$ sudo apt-get update 

    更新完軟件庫(kù)索引后繼續(xù)執(zhí)行上面的安裝命令即可。

    安裝python的setuptools和gitosis,由于gitosis的安裝需要依賴于python的一些工具,所以我們需要先安裝python

    的setuptools。

    執(zhí)行下面的命令:

    ubuntu:~$ sudo apt-get install python-setuptools
    這個(gè)工具比較小,安裝也比較快,接下來(lái)準(zhǔn)備安裝gitosis,安裝gitosis之前需要初始化一下服務(wù)器的git用戶信息,這個(gè)隨便填。

    ubuntu:~$ git config --global user.name "myname"
    ubuntu:~$ git config --global user.email "******@gmail.com"

    初始化服務(wù)器用戶信息后,就可以安裝gitosis了,gitosis主要是用于給用戶授權(quán),設(shè)置權(quán)限也算是很方便的。

    可以通過(guò)以下命令獲取gitosis版本文件

    ubuntu:~$ git clone https://github.com/res0nat0r/gitosis.git
    注意:中間有兩個(gè)是數(shù)字零

    獲取gitosis文件后,進(jìn)入到文件目錄下面

    ubuntu:/tmp$ cd gitosis/

    接著使用python命令安裝目錄下的setup.py的python腳本進(jìn)行安裝

    ubuntu:/tmp/gitosis$ sudo python setup.py install

    到這里,整個(gè)安裝步驟就完成了,下面就開始對(duì)git進(jìn)行一些基本的配置。

    二、創(chuàng)建git管理員賬戶、配置git

    創(chuàng)建一個(gè)賬戶(git)作為git服務(wù)器的管理員,可以管理其他用戶的項(xiàng)目權(quán)限。

    ubuntu:/tmp/gitosis$ sudo useradd -m git
    ubuntu:/tmp/gitosis$ sudo passwd git

    然后再/home目錄下創(chuàng)建一個(gè)項(xiàng)目倉(cāng)庫(kù)存儲(chǔ)點(diǎn),并設(shè)置只有g(shù)it用戶擁有所有權(quán)限,其他用戶沒(méi)有任何權(quán)限。

    ubuntu:/tmp/gitosis$ sudo mkdir /home/gitrepository
    ubuntu:/tmp/gitosis$ sudo chown git:git /home/gitrepository/
    ubuntu:/tmp/gitosis$ sudo chmod 700 /home/gitrepository/

    由于gitosis默認(rèn)狀態(tài)下會(huì)將倉(cāng)庫(kù)放在用戶的repositories目錄下,例如git用戶的倉(cāng)庫(kù)地址默認(rèn)在/home/git/repositories/目錄下,這里我們需要?jiǎng)?chuàng)建一個(gè)鏈接映射。讓他指向我們前面創(chuàng)建的專門用于存放項(xiàng)目的倉(cāng)庫(kù)目錄/home/gitrepository。

    ubuntu:/tmp/gitosis$ sudo ln -s /home/gitrepository /home/git/repositories

    這里我將在服務(wù)器端生成ssh公鑰,如果想在其他機(jī)器上管理也可以在其他機(jī)器上生成一個(gè)ssh的公鑰。

    ubuntu:/home/git$ ssh-keygen -t rsa

    這里會(huì)提示輸入密碼,我們不輸入直接回車即可。

    然后用剛生成公鑰id_rsa.pub來(lái)對(duì)gitosis進(jìn)行初始化。

    向gitosis添加公鑰并初始化:

    $ cp ~/.ssh/id_rsa.pub /tmp

    $ sudo -H -u gitadmin gitosis-init < /tmp/id_rsa.pub

    Ubuntu完美搭建Git服務(wù)器

    出現(xiàn)如上信息說(shuō)明gitosis已經(jīng)初始化成功。

    gitosis主要是通過(guò)gitosis-admin.git倉(cāng)庫(kù)來(lái)管理一些配置文件的,如用戶權(quán)限的管理。這里我們需要對(duì)其中的一個(gè)post-update文件添加可執(zhí)行的權(quán)限。

    ubuntu:/home/git$ sudo chmod 755 /home/gitrepository/gitosis-admin.git/hooks/post-update

    三、服務(wù)器上創(chuàng)建項(xiàng)目倉(cāng)庫(kù)

    使用git賬戶在服務(wù)器上創(chuàng)建一個(gè)目錄(mytestproject.git)并初始化成git項(xiàng)目倉(cāng)庫(kù)。

    ubuntu:/home/git$ su git
    $ cd /home/gitrepository
    $ mkdir mytestproject.git
    $ git init --bare mytestproject.git
    $ exit

    如果出現(xiàn)以下信息就說(shuō)明已經(jīng)成功創(chuàng)建了一個(gè)名為mytestproject.git的項(xiàng)目倉(cāng)庫(kù)了,新建的這個(gè)倉(cāng)庫(kù)暫時(shí)還是空的,不能被客戶端clone,還需要對(duì)gitosis進(jìn)行一些配置操作。

    四、使用gitosis管理用戶操作項(xiàng)目的權(quán)限

    首先需要在前面生成ssh公鑰(用來(lái)初始化gitosis)的機(jī)器上將gitosis-admin.git的倉(cāng)庫(kù)clone下來(lái)。

    在客戶端機(jī)器上新建一個(gè)目錄用于存放gitosis-admin.git倉(cāng)庫(kù)

    ubuntu:~$ mkdir gitadmin
    ubuntu:~$ cd gitadmin/
    ubuntu:~/gitadmin$ git clone git@192.168.1.106:gitosis-admin.git

    clone正確會(huì)顯示以下信息

    Ubuntu完美搭建Git服務(wù)器

    clone下來(lái)會(huì)有一個(gè)gitosis.conf的配置文件和一個(gè)keydir的目錄。gitosis.conf用于配置用戶的權(quán)限信息,keydir主要用戶存放ssh公鑰文件(一般以“用戶名.pub”命名,gitosis.conf配置文件中需使用相同用戶名),用于認(rèn)證請(qǐng)求的客戶端機(jī)器。

    現(xiàn)在讓需要授權(quán)的用戶使用前面的方式各自在其自己的機(jī)器上生成相應(yīng)的ssh公鑰文件,管理員把他們分別按用戶名命名好,復(fù)制到keydir目錄下。

    ubuntu:~$ cp /home/aaaaa/Desktop/zhangsan.pub /home/aaaaa/gitadmin/gitosis-admin/keydir/

    ubuntu:~$ cp /home/aaaaa/Desktop/lisi.pub /home/aaaaa/gitadmin/gitosis-admin/keydir/

    繼續(xù)編輯gitosis.conf文件

    [gitosis]

    [group gitosis-admin] 
    ####管理員組
    members = charn@ubuntu 
    ####管理員用戶名,需要在keydir目錄下找到相應(yīng)的.pub文件,多個(gè)可用空格隔開(下同)
    writable = gitosis-admin####可寫的項(xiàng)目倉(cāng)庫(kù)名,多個(gè)可用空格隔開(下同)

    [group testwrite] 
    ####可寫權(quán)限組
    members = zhangsan####組用戶
    writable = mytestproject####可寫的項(xiàng)目倉(cāng)庫(kù)名

    [group
     testread] ####只讀權(quán)限組
    members =lisi####組用戶
    readonly= mytestproject####只讀項(xiàng)目倉(cāng)庫(kù)名

    因?yàn)檫@些配置的修改只是在本地修改的,還需要推送到服務(wù)器中才能生效。

    ubuntu:~/gitadmin/gitosis-admin$ git add .
    ubuntu:~/gitadmin/gitosis-admin$ git commit -am "add a user permission"
    ubuntu:~/gitadmin/gitosis-admin$ git push origin master

    推送成功會(huì)顯示下面提示信息

    Ubuntu完美搭建Git服務(wù)器

    又是后新增的用戶不能立即生效,這時(shí)候需要重新啟動(dòng)一下sshd服務(wù)

    ubuntu:~/gitadmin/gitosis-admin$ sudo /etc/init.d/ssh restart

    現(xiàn)在,服務(wù)端的git就已經(jīng)安裝和配置完成了,接下來(lái)就需要有權(quán)限的組成員在各自的機(jī)器上clone服務(wù)器上的相應(yīng)

    項(xiàng)目倉(cāng)庫(kù)進(jìn)行相應(yīng)的工作了。

    五、客戶端(windows)使用git

    下載安裝windows版本的git客戶端軟件,下載地址:http://msysgit.github.io/

    安裝完成后右鍵菜單會(huì)出現(xiàn)幾個(gè)git相關(guān)的菜單選項(xiàng),我們主要使用其中的git
     bash通過(guò)命令行來(lái)進(jìn)行操作。

    在本地新建一個(gè)目錄,使用git初始化這個(gè)目錄,然后再里面新建一個(gè)文本文件用于測(cè)試,最后關(guān)聯(lián)到git服務(wù)器倉(cāng)庫(kù)

    中的相關(guān)項(xiàng)目,最后上傳本地版本到服務(wù)器。

    $ mkdir testgit
    $ cd testgit
    $ git init
    $ echo "this is a test text file,will push to server" > hello.txt
    $ git add .
    $ git commit -am "init a base version,add a first file for push to server"
    $ git remote add origin git@serverip:mytestproject.git
    $ git push origin master

    這樣服務(wù)端就創(chuàng)建好了一個(gè)mytestproject.git的倉(cāng)庫(kù)的基礎(chǔ)版本了,現(xiàn)在其他組員只要從服務(wù)端進(jìn)行clone就可以了。

    window下面進(jìn)入到需要克隆的本地目錄下面右鍵選擇git bash選項(xiàng),輸入

    $ git clone git@serverip:mytestproject.git

    就可以把項(xiàng)目clone到本地倉(cāng)庫(kù)了。

    下面進(jìn)行簡(jiǎn)單的修改和提交操作

    $ cd mytestproject
    $ echo "this is another text file created by other" >another.txt
    $ git add .
    $ git commit -am "add a another file by other"
    $ git push origin master

    最后推送到服務(wù)器成功會(huì)顯示如下信息

    Ubuntu完美搭建Git服務(wù)器


    gitolite搭建git倉(cāng)庫(kù)(服務(wù)端+客戶端)

    http://blog.csdn.net/ChiChengIT/article/details/49863383

    posted @ 2018-03-13 15:35 Alpha 閱讀(1199) | 評(píng)論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲伦理一二三四| 久久国产亚洲精品无码| 国产精品日本亚洲777| 成年午夜视频免费观看视频| 亚洲伦理一二三四| 日本一区二区三区免费高清| 亚洲一卡2卡3卡4卡乱码 在线 | 免费观看的a级毛片的网站| 亚洲妇女熟BBW| 午夜视频在线观看免费完整版| 亚洲欧洲另类春色校园网站| 成全视频在线观看免费高清动漫视频下载 | 亚洲第一页中文字幕| 97热久久免费频精品99| 亚洲jizzjizz在线播放久| 毛片免费在线视频| 男女交性无遮挡免费视频| 久久精品国产亚洲Aⅴ香蕉| 你懂的免费在线观看| 91亚洲一区二区在线观看不卡| 国产精品入口麻豆免费观看| 亚洲综合在线一区二区三区| 免费va在线观看| 3344在线看片免费| 亚洲国产成人精品无码区在线秒播 | 四虎永久成人免费影院域名| 久久不见久久见免费影院www日本| 国产亚洲真人做受在线观看| 四虎在线成人免费网站| 亚洲国产AV无码一区二区三区| 亚洲最大激情中文字幕| 亚洲视频免费在线播放| 亚洲高清一区二区三区电影| 亚洲精品无码成人AAA片| 一本无码人妻在中文字幕免费 | 免费人成在线观看网站品爱网日本| 中国性猛交xxxxx免费看| 国产成人精品日本亚洲直接| 亚洲毛片av日韩av无码| 69pao强力打造免费高清| 国产精品亚洲а∨无码播放不卡|